- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上机题汇总
1设置matlab的工作环境,将工作目录设置为d:\work,添加搜索目录d:\example
2在matlab的命令窗口里完成如下计算,其中t的值分别取-1,0,1,表达式如下:
答:function myfun1
t=-1:1;
y=sqrt(3)/2*exp(-4*t).*sin( 4*sqrt(3*t)+pi/3 );
disp(y);
3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。
A=rand(5)
I=[2:4]
J=[2:4]
a=A(I,J]
4用magic产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置
function myfun4
a=magic(5);
b=a([1,3,2,4,5],:);
disp(b);
5求方程组的根
x1+4x2-3x3=2
2x1+5x2-x3=11
x1+6x2+x3=12
function myfun5
A=[1 4 -3;2 5 -1;1 6 1];
B=[2;11;12];
X1=A\B %利用两种方法求X
X2=inv(A)*B
6 A=[2 3 4;
1 5 7;
6 2 5]
用什么函数,保证第一列排序的时候,其他列跟着变化。最后的结果是:
[1 5 7;
2 3 4;
6 2 5]
function myfun9
A=[2 3 4;1 5 7;6 2 5];
[r,p]=sort(A);
Result1=A(p(:,1),:); %按第一列进行排列
disp(result1);
Result2=A(p(:,2),:); %按第二列进行排列
disp(result2);
[m,n]=sort(A,2);
Result3=A(n(1,:),:); %按第一行进行排列
disp(result3);
我们的解:
1 A=[2 3 4;1 5 7;6 2 5];
[c,idx]=sort(A(:,1));
d=A(idx,:)
2 [c,idx]=sort(A(:,2));
d=A(idx,:)
3 [c,idx]=sort(A(1,:));
d=A(:,idx)
7 自行产生一个5行5列的数组,用两种方法得到最中间的三行三行矩阵。
1. function myfun11
a=magic(5);
b=a([2:4],[2:4]); %第一种方法
disp(b);
a([1 5],:)=[]; %第二种方法:先删除1,5两行的数据,亦可先删除1,5两列的数据
a(:,[1 5])=[]; %再删除1,5两列的数据
disp(a);
8 根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。(思考:大于0的正常显示,小于等于0的用-10来表示)
2.function myfun12
a=reshape(-4:4,3,3);
b=a(a0);
c=(a0).*a+(a=0).*0;
disp(b);
disp(c);
我们的解:
a=reshape(-4:4,3,3);
b=(a0);
a(b);
(a(b));
a.*b;
9建立如下一个元胞数组,现在要求计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第二个元素。
a={pascal(4),hello;17.3500,7:2:100}
function myfun13
a={pascal(4),hello;17.3500,7:2:100};
r=a{1}(4,2)+a{2}+a{3}(2)+a{4}(2);
disp(r);
10 建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是:
问题1,如何找到第2个人的分数并显示出来
问题2,如何找到第2个人的每门课程3个阶段的平均分数并显示出来
问题3,全班同学(指这3个学生)的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里。
问题4,找到这个班所有同学的姓名放到一个元胞数组里
function myfun14
student=struct(name,{l1,l2,l3},age,{10,11,12},
文档评论(0)