EDA365电子论坛网

标题: 请问Matlab用function如何输出多个数组 [打印本页]

作者: beachsun    时间: 2019-7-31 14:28
标题: 请问Matlab用function如何输出多个数组

用function写了一个函数,希望能够输出两个不同的数组,如[a,b]=fun(x),其中a,b为两个不同的数组,但是貌似b会将a的结果覆盖,得到的ans只有一个数组。程序如下:


+ q. v! o. M: H% o8 L

function [thta,y]=Sa(N)

if N>=10000;


6 A* N, D! V2 r* y  d) t

error('input must smaller than 10000')


; C) g+ d/ G7 M8 J1 n+ r

end

tht=0:pi/9999:pi;

d=floor(10000/N);

y=[];

thta=[];

for i=0:N-1;

a=1+i*d;

thta=[thta,tht(a)];

y=[y,(sin((N/2)*pi*(cos(tht)-cos(thta(i+1)))))/(N*sin((pi/2)*(cos(tht)-cos(thta(i+1)))))];

end

end


$ E5 K$ _+ h5 e

: n4 m% e- g6 i/ Q


+ }) ^0 [+ N2 N6 }

1 T  T$ J) l) n& F

9 v; N$ I% n* Z$ m- D
作者: yxlk    时间: 2019-7-31 15:45
哈哈哈,估计受C的影响太深了吧。$ d: H1 m( d6 a  w6 I
y=[y,xxx]这个里面你用了cos(tht)产生的是tht对应整个数组的cos值,并且你用了矩阵除,至少用‘./’这个符号做代数除吧,不然没法计算,把这一步给改掉,换个正确的表达式。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2