我寫了一個小程序來測試一些函數。是冒號記號(:)等於數組(矢量)
這是proram:
close all;
clear all;
f = @(x, n) power(-1,(n-1)./2) .* power(x, n) ./ factorial(n);
n = [0,3,5,10,50,100];
% n = 0:10:100;
x = linspace(0, 4*pi, 1000);
ax = axes('nextplot', 'add');
for k = 1:length(n)
plot(ax, x, f(x, n(k)), 'displayname', ['f_', int2str(n(k)), '(x)']);
end
對我來說,主要的問題是,我認爲,冒號符號(1:10)definies陣列值equaliy傳播。
在我的程序中並非如此。
當我將n設置爲[0,3,5,10,50,100]並且將n設置爲0:10:100時,程序的輸出會有所不同。
在第一個版本,與陣列,該程序工作正常,但機智的第二個版本,用冒號表示法,程序不工作,它只是在0
繪製一條直線所以我的問題是這樣的方式正在發生?我的意思是如果冒號符號和數組定義是相同的爲什麼程序對冒號符號和數組符號有不同的輸出?
我錯過了什麼嗎?
謝謝!
編輯: 這是我得到的圖: 第一個id數組表示法,第二個是冒號表示法。 我使用mathlab R2013a
在兩種情況下,它都會給我提供類似的輸出:幾條線被繪製,忽略虛部。也許張貼你的數字? – 2014-09-30 11:01:46
@LuisMendo我已添加劇情 – depecheSoul 2014-09-30 11:06:23
這與冒號表示無關。這是你的f函數給出了虛構的結果,而不是繪製的。 – Oleg 2014-09-30 11:14:13