Info
此问题已关闭。 请重新打开它进行编辑或回答。
Cant get the equation to work
2 次查看(过去 30 天)
显示 更早的评论
clc
num_values=11;
first_val=0;
time=zeros(1,num_values);
z(1)=first_val;
s=zeros(1,11);
time(1)=first_val;
t=sym('t');
TU(1)=5*pi/180;
TU(2)=7*pi/180;
TU(3)=6*pi/180;
TU(4)=9*pi/180;
TU(5)=12*pi/180;
TU(6)=17*pi/180;
TU(7)=19*pi/180;
TU(8)=27*pi/180;
TU(9)=33*pi/180;
TU(10)=36*pi/180;
TU(11)=45*pi/180;
for n=2:11
time(n)=(n-1)*15;
z(n)=(-z(n-1)+((2*(TU(n)-TU(n-1)))/(time(n)-time(n-1))));
sprintf('z= %.05f \n',z)
end
for n=2:10;
s(n)=((z(n)-z(n-1))/(2*(time(n)-time(n-1)))) * ((t-time(n-1)).^2) + z(n-1)*(t-time(n-1))+TU(n-1);
end
Im trying to get the values from the equation with s using the values of the equation with z and i dont know how. In the workspaces it says that s is a 1x11 matrix but i think it should be 1x10
4 个评论
Jan
2018-11-28
"it says" - who is it? Please post the complete error message, such that the readers do not have to guess, which line fails with which message.
回答(1 个)
Areej Varamban Kallan
2018-12-7
编辑:Areej Varamban Kallan
2018-12-7
Hi Clara,
I have executed your code and the error message I get is "Unable to convert expression into double array". The variable 's' is defined to be a double matrix and the variable 't' is defined to be a symbolic variable. In the second for loop you are doing certain computations using the symbolic variable 't'. The results of such computations will be of symbolic type. As a result your code is attempting to assign a symbolic value to a double matrix. This is not valid.
Please redine s as:
s=sym(zeros(1,11));
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!