Problem with "In an assignment A(:) = B, the number of elements in A and B must be the same"
1 次查看(过去 30 天)
显示 更早的评论
Hi, I'm getting problem with the code that attached. When I run this code, it will show me this error: In an assignment A(:) = B, the number of elements in A and B must be the same
0 个评论
采纳的回答
Jan
2017-3-25
编辑:Jan
2017-3-25
Due to the missing definition of the global variables we cannot run your code. Perhaps. On the other hand, it looks like you define the global variables here only. Then why are they global?
You did not reveal the complete error message, such that we cannot know, where the error occurres. In consequence it is hard to guess, what's going on for the readers. But it is easy for you using the debugger. Type this in the command window:
dbstop if error
Now run your code. If it stops at the error, examine the values of the variables used in the failing line. The right hand side of the assignment will contain a number of elements, which differes from the number of elements on the left hand side. Because there are no useful comments in your code, a suggestion for improvements would be bold guessing only.
It is recommended, to write the intention of each block (or line!) of code into a comment, such that debugging is possible.
Note:
for i=1:5
cp = B+(2*C*y(6))+(3*D*(y(6))^2)+(4*E*(y(6))^3)+(5*H*(y(6))^4); % Btu/lb.R
end
This loop is meaningless, because cp is calculated 5 times with the same result: The loop contents does not depened on the loop counter i.
Overdoing with parenthesis decrease the readability of the code. Compare:
a1 = ((r1)*(-deltaH1)*(v));
a1 = -deltaH1 * r1 * v;
I prefer to move the unary minus to the front, but this is a question of taste.
If run time matters, consider that the power operation 10^-14 is very expensive, while reading a constant 1e-14 is almost free of costs during the execution:
H = [0.750735e-14, 0.053809e-14, 0.032141e-14, -1.387867e-14, 0.818450e-14];
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Function Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!