1樓:匿名使用者
首先x是一個陣列,x=[-1 -0.99 -0.98 ....1]由語句x=-1:0.01:1產生。對陣列做除法或者平方是沒有意義的,因為
內matlab支援矩陣運算,所以不是容預設對陣列做平方運算是對所有元素作平方運算。若想對陣列每一個元素作平方運算,那麼應該用x.^2,運算子,同時.
/(兩個字元是一個運算子)指的是對陣列每一個元素進行運算,同時將每一次運算結果返回。當然不是覆蓋而是也存進一個陣列。其實y=1.
/(1+25*x.^2) 這句話也可以用迴圈做。類似於for i=1:
size(x) y(i)=1/(1+25*x(i)^2);
end總而言之要想對一個陣列所有元素進行運算需要用./和.*之類的運算子,而不是/或者*,因為這意思矩陣運算子,會產生歧義。不明白可追問。
2樓:匿名使用者
首先區分matlab中兩種bai乘法(除法du),對於標量來說一zhi
般不dao加點如x=5,x/5=1.而對於矢內量加點表示容對於其中每一個的元素都進行乘法(除法)而不是向量運算,如x=[1,,2],x./5=[0.2,0.4].
matlab求龍格函式f(x)=1/(1+25*x^2)在區間[-1,1]上取n=10的等距節點,分別作多項式插值三次樣條插值
3樓:匿名使用者
^x = linspace(-1,1,10);
x1 = linspace(-1,1,100);
y =1./(1+25*x.^2);
y1 = interp1(x,y,x1,'cubic');
y2 = interp1(x,y,x1,'spline');
figure();
plot(x,y,'ro');
hold on;
plot(x1,y1,'b',x1,y2,'g');
legend('插值
點','多項式','三次版樣條
權');
4樓:匿名使用者
^m程式
bai如du下zhi
:dao
內x=-1:0.0001:1;
y=1./(1+25*x.^容2);
x1=-1:0.2:1;
y1=interp1(x,y,x1,'spline');
plot(x1,y1,'o',x,y)
grid on
xlabel('x')
ylabel('y')y1
5樓:匿名使用者
^m程式
抄如襲下bai:du
zhix=-1:0.0001:1;
y=1./(1+25*x.^dao2);
x1=-1:0.2:1;
y1=interp1(x,y,x1,'spline');
plot(x1,y1,'o',x,y)
grid on
xlabel('x')
ylabel('y')y1
6樓:匿名使用者
^m程式如下:
x=-1:0.0001:1;
y=1./(1+25*x.^2);
x1=-1:0.2:1;
y1=interp1(x,y,x1,'spline');
plot(x1,y1,'o',x,y)
grid on
xlabel('x')
ylabel('y')
y1結果如
內圖:容
matlab中假設t 0 0 1 2 pi為什麼y t sin(tsin(t)不等於y tsin(t2呢
y t.sin t sin t 在理論上和y t.sin t 2得到的結果是一樣的,但由於浮點數運算誤差的關係,兩者可能會存在一個非常微小的誤差 結果是這樣的,你可以再試一遍 t 0 0.1 2 pi y t.sin t 2 y columns 1 through 8 0 0.0010 0.0079...
matlab中如何使用if語句,Matlab中如何使用if語句?
巢狀if語句的語法如下 if executes when the boolean expression 1 is true if executes when the boolean expression 2 is true endend 例如 建立指令碼檔案並在其中鍵入以下 a 100 b 200 ...
matlab子函式中if語句不能執行
end if是哪個語言的表達方式呢?vb或者c 直接end結尾 endif end試試 matlab程式if語句用法 matlab中我們常常用到條件判斷語句結構,通過例項介紹這個結構的用法 1 if.end結構,執行下面的句子,此條件語句是判斷5是否大於3,如果大於3,就將1賦值給 2 if.els...