Re: [問題]向量問題已回收
※ 引述《xk5566 (藍藍綠)》之銘言:
: clear;
: syms x a;
: w1=(sin(a)^2-(1.44/1.455)^2)^0.5/cos(a)-x;
: j=1;
: for x=0.1:0.1:20
: W2=eval(w1);
: Y(j)=eval(solve(W2));
: Y(j)=Y(j)*180/pi;
: j=j+1;
: end
: plot(Y,0.1:0.1:20);
: ??? In an assignment A(I) = B, the number of elements in B and
: I must be the same.
: 請問是哪裡出了問題
因為solve出來的解有兩組 只差正負號
法一: 只存一組
中間多一個變數就好
clear;
syms x a;
w1=(sin(a)^2-(1.44/1.455)^2)^0.5/cos(a)-x;
j=1;
for x=0.1:0.1:20
W2=eval(w1);
sol=eval(solve(W2));
Y(j)=sol(1);
Y(j)=Y(j)*180/pi;
j=j+1;
end
plot(Y,0.1:0.1:20);
取出來是正的解 如果你要負解就再變號
法二: 存成cell array
cell使用大括號 {}
clear;
syms x a;
w1=(sin(a)^2-(1.44/1.455)^2)^0.5/cos(a)-x;
j=1;
for x=0.1:0.1:20
W2=eval(w1);
Y{j}=eval(solve(W2));
Y{j}=Y{j}*180/pi;
j=j+1;
end
每個cell裡面都是2*1的向量
針對你這題就用法一就好了
但如果你每個參數解出來解的個數會不一樣
甚至有些參數沒有解
那存成cell比較好
因為每個cell可以存不同型態 不同長度的資料
存完後再另外處理
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.250.17.23
推
11/10 12:28, , 1F
11/10 12:28, 1F