Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

Question about using elements of an array for computation

조회 수: 1 (최근 30일)
Sri
Sri 2014년 9월 18일
마감: MATLAB Answer Bot 2021년 8월 20일
I have given D0=rand(100,1) and also defined the other single column vectors m, n, r in similar way. The rest of the quantities are scalars. Now, (i runs from 1 to 100)
function [ D,Ni ] = constant_loading_1(D0,N0,Nc,R1,r,n,m,N)
%UNTITLED3 Summary of this function goes here
D=1-power(power(1-D0(i),n(i)+1)-((N-N0)/Nc)*(n(i)+1)*power((1-r(i)/R1),m(i)),1/(n(i)+1));
Ni=ceil(N0+((Nc/(n(i)+1))*(power(1-D0(i),n(i)+1))*(power(R1/(R1-r(i)),m(i)))));
end
is giving the error message: _Subscript indices must either be real positive integers or logicals.
Error in constant_loading_1 (line 3) D=1-power(power(1-D0(i),n(i)+1)-((N-N0)/Nc)*(n(i)+1)*power((1-r(i)/R1),m(i)),1/(n(i)+1));_

답변 (2개)

Mischa Kim
Mischa Kim 2014년 9월 18일
편집: Mischa Kim 2014년 9월 18일
Sri, I believe what you want to do is
D = 1 - power(power(1-D0,n+1)-((N-N0)./Nc).*(n+1).*power((1-r./R1),m),1./(n+1));
Ni = ceil(N0+((Nc./(n+1)).*(power(1-D0,n+1)).*(power(R1./(R1-r),m))));
Note the dot operators that allow you to do element-wise operations on vectors (see e.g. http://www.mathworks.com/help/matlab/ref/times.html).

Sri
Sri 2014년 9월 18일
function [ D,Ni ] = constant_loading_1(D0,N0,Nc,R1,r,n,m,N)
%UNTITLED3 Summary of this function goes here
D=1-power(power(1-D0,n+1)-((N-N0)./Nc).*(n+1).*power((1-r./R1),m),1./(n+1));
Ni=ceil(N0+((Nc/(n+1)).*(power(1-D0,n+1)).*(power(R1/(R1-r),m))));
end
gives
Error using .^ Matrix dimensions must agree.
Error in constant_loading_1 (line 4) Ni=ceil(N0+((Nc/(n+1)).*(power(1-D0,n+1)).*(power(R1/(R1-r),m))));
  댓글 수: 2
Mischa Kim
Mischa Kim 2014년 9월 18일
Please see updated answer above. There are some more dots missing in the equation for Ni.
Sri
Sri 2014년 9월 18일
편집: Sri 2014년 9월 18일
Thank you. I have tried that. It didn't work. so ended up introducing new variables. http://www.mathworks.in/matlabcentral/answers/155266-how-to-assign-an-element-of-a-column-array-to-a-variable

이 질문은 마감되었습니다.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by