急求帮助,怎样用matlab输出杨辉三角第n行
发布网友
发布时间:2023-09-06 20:38
我来回答
共2个回答
热心网友
时间:2024-12-03 16:49
n=input('请输入行数:')
yh=1;
for k=2:n
yh=[yh,0]+[0,yh];
yh(k)=1;
end
disp(['杨辉三角第',num2str(n),'行数据:']);
disp(yh)
直接在命令窗口输入上程序,当让输入想要的行数时候,输入数字,然后就会返回所需要行的值。追问其实这道题我已经知道了,希望能帮我解决下面这个。能解决就追加分~~谢谢
matlab可以利用sort命令实现对数组的排序。例如
A=[ 4 2 8 9 7];
[B, I]=sort(A);
的结果为
B=2 4 7 8 9
I=2 1 5 3 4
其中B为数组中从小到大的排列,I为B 中元素在A中的相应位置,也就是说
B(k)=A(I(k))。
试定义一个函数实现这样的数组排序功能。
热心网友
时间:2024-12-03 16:49
下面的程序应该可以实现你追问中的功能
function [B I]=mysort(A)
n=length(A);
I=1:n;
B=A;
for i=1:n-1
for j=i:n
if(B(j)<B(i))
t=B(i);
B(i)=B(j);
B(j)=t;
t=I(i);
I(i)=I(j);
I(j)=t;
end
end
end
测试:
A=[ 4 2 8 9 7];
>> [B1, I1]=mysort(A)
B1 =
2 4 7 8 9
I1 =
2 1 5 3 4
>> [B, I]=mysort(A)
B =
2 4 7 8 9
I =
2 1 5 3 4
如果有问题可追问