我有大代码,我注意到我的代码中有一个错误没有任何语法错误.我使用以下示例描述它:
I=sym(eye(3)); %I is Identity 3by3
a=sym(zeros(5,1)); %a is column matrix
Run Code Online (Sandbox Code Playgroud)
然后 :
a(1)=I;
Run Code Online (Sandbox Code Playgroud)
哪个应该给出错误,但结果是:
a=
1
0
0
0
0
Run Code Online (Sandbox Code Playgroud)
这意味着matlab将3x3矩阵分配到a!!!
怎么了?
我尝试了相同,但知道使用I和a两种类型现在它给出一个错误,这是正确的.
我有一个问题,矢量的数值导数是x:Nx1,相对于x的相同大小的另一个矢量t(时间).我执行以下操作(x被选为正弦函数作为示例):
t=t0:ts:tf;
x=sin(t);
xd=diff(x)/ts;
Run Code Online (Sandbox Code Playgroud)
但答案xd是(N-1)x1,我发现它不计算与x的第一个元素相对应的导数.
有没有其他方法来计算这个衍生物?