下面這個matlab程式是什麼意思

2021-05-17 19:23:50 字數 2677 閱讀 1529

1樓:我行我素

clear

clca(1,:)=-3:1.5:4.5;

a(2,:)=1.5*a(1,:)+unifrnd(0,0.1,1,length(a(1,:)));

a = a';

noisea = [-0.3 -0.1;4.5 -5;-0.6 1;-0.2 0.15];

a = [a;noisea];

plot(a(:,1),a(:,2),'+r');

title('a 圖')

%hold on;

figure

b(1,:)=3:0.5:5;

b(2,:)=-3*b(1,:)+unifrnd(0,0.1,1,length(b(1,:)));

b = b';

noiseb =1.5*[1.7 -5;0.8 -3;2.2 -5;1 -4];

b = [b;noiseb];

plot(b(:,1),b(:,2),'.b');

title('b 圖')

%hold on;

x = [a;b];

y = [1*ones(length(a(:,1)),1);-1*ones(length(b(:,1)),1)];

y = [ x y x];

opts = statset('display','final');

[cidx, ctrs] = kmeans(x, 2, 'distance','city', ...

'replicates',5, 'options',opts);

figure

plot(x(cidx==1,1),x(cidx==1,2),'r.', ...

x(cidx==2,1),x(cidx==2,2),'b.', ctrs(:,1),ctrs(:,2),'kx');

title('x kmeans 圖')

figure

opts = statset('display','final');

[cidx, ctrs] = kmeans(y, 2, 'distance','city', ...

'replicates',5, 'options',opts);

plot(y(cidx==1,1),y(cidx==1,2),'r.', ...

y(cidx==2,1),y(cidx==2,2),'b.', ctrs(:,1),ctrs(:,2),'kx');

title('y kmeans 圖')

請問這個matlab程式是什麼意思?謝謝

2樓:matlab使用中

% 找到輸入陣列x的最大值value及位置 position

function [value, position] = mymax (x) % 檢查輸入引數x是否出錯msg = nargchk (1,1,nargin); error (msg); % value儲存當前最大值,初始化取陣列x的第一個值 value = x (1); % temp儲存當前最大值位置temp = 1; % 對陣列x從2到末尾進行迴圈

for ii = 2 : length (x) % 判斷如有比value 大的值

if value < x (ii) % 更新當前的最大值value及當前最大值位置temp

value = x (ii); temp = ii; end end% 如果輸出引數是兩個,則temp賦給第二個引數

if nargout > 1 position = temp;end

3樓:小蝦米

函式功能是尋找向量x的最大值value,以及最大值所在位置position

function [value, position] = mymax (x)%函式名為mymax,輸入引數x,輸出引數value、position

msg = nargchk (1,1,nargin);%檢查函式輸入引數的個數是否大於等於1,且小於等於1,即檢查輸入引數個數是否為1,是則msg無返回,否則返回錯誤資訊至msg

error (msg);%將錯誤資訊顯示出來

value = x (1);%輸出值value賦值為1

temp = 1;%臨時初始化為1

for ii = 2 : length (x)%從x的第2個數開始遍歷

if value < x (ii)%判斷x(ii)是否大於value

value = x (ii);%如果大於則返回較大的值x(ii)至value

temp = ii;%返回value所在位置至變數temp

end%結束判斷

end%結束迴圈

if nargout > 1%判斷輸出個數是否大於1

position = temp;%如果大於1則輸出位置引數temp

end%結束判斷

這段matlab程式是什麼意思?

4樓:

ts=0.001;

sys=tf(5.235e005,[1,87.35,1.047e004,0]); %構造連續時間傳遞函式模型

dsys=c2d(sys,ts,'z'); % 把上面的連續時間傳遞模型轉換為離散模型

[num,den]=tfdata(dsys,'v'); %該離散模型的分子分母多項式係數。

求解matlab程式問題,下面程式的 if s1 i

figure 2 for i 2 n if s1 i,1 200 i可以取2,3,4,5.n,s1 i,1 列沒變,那麼就是s1 2,1 s1 3,1 s1 4,1 s1 n,1 可以看出取的是第一列元素,s1 1,1 沒取 l 2 for j 1 m x1 j,1 x i 1,j y1 j,1 y...

求大俠幫我看下這個matlab程式,一直報錯

clear clci 1000 l 2 rr 0.01 x 0 0.1 2 k,j size x rg1 zeros 1,j rs1 zeros 1,j z zeros 1,j a zeros 1,j c zeros 1,j for i 1 j rg1 i 15 0 x i x i 0.8 63 6...

matlab程式如下請問cy1是什麼意思

c y1 是什麼意思?y1是一維陣列,y1 表示y1陣列的所有元素,c y1 表示把y1的所有元素按列取出版賦值給c,此時得到權的c是一個列向量。syms x df d 是什麼意思 這句話表示宣告 x df d 為符號變數,你可以學習一下matlab的符號變數的用法。求 matlab 中變數後面的....