Matrix divison or calculating slope
2 次查看(过去 30 天)
显示 更早的评论
Hi everyone!
I am new user of Matlab and I have a problem with basic operations.
So,I have two matrix
tc=[0 0.5 1 2 3 4 5 10 15 20 30 45];
hc=[0.248 0.248 0.248 0.248 0.248 0.248
0.243 0.244 0.246 0.248 0.247 0.248
0.215 0.236 0.241 0.247 0.246 0.248
.....................................];
the thing I need to do is: for each column in matrix hc divide the difference of second and first row with the difference of second and first member of matrix tc, and in next step do the same for third and second member. (this is actually calculating the slope for each experimental data).
For example: slope=(hc(1,1)-(hc(2,1)))/(tc(1,2)-tc(1,1)) or with data (0.248-0.243)/(0.5-0)
My idea was to do that with for loops:
slope=zeros(12,6);%initialization of matrix
for i=1:12 %there are 12 rows in hc full data
for j=1:6
slope(i,j)= ((hc((i),j))-(hc(i+1),j)))/((tc(1,(j+1)))-(tc(1,j)));
end
end
but it's not working. So I would need your help.
0 个评论
采纳的回答
Are Mjaavatten
2019-5-22
编辑:Are Mjaavatten
2019-5-22
There is a syntax error with your use of parentheses. Also, the slope for the last row is not defined. This should work:
nrows = 3; % Set nrows to 12 for your full data set
slope=zeros(nrows-1,6);
for i=1:nrows-1
for j=1:6
slope(i,j)= (hc(i,j)-hc(i+1,j))/(tc(1,j+1)-tc(1,j));
end
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!