matlab用function如何输出多个数组

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

function [thta,y]=Sa(N)

if N>=10000;

    error('input must smaller than 10000')

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

y=[y,xxx]这个里面你用了cos(tht)产生的是tht对应整个数组的cos值,并且你用了矩阵除,至少用‘./’这个符号做代数除吧,不然没法计算,把这一步给改掉,换个正确的表达式。估计受c的影响太深了