一些有关MATLAB使用的基础习题
最近在上微分方程数值解的课,下面是作业中关于MATLAB基本用法的题,大家有需要可作参考一下。
下面是代码和结果:
一、MATLAB运算基础
1.求表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量
代码:
1. x=[2 1+2i;-0.45 5];
2. z2=1/2*log(x+(1+x^2)^(1/2))
3. a=-3.0:0.1:3.0;
4. z3=0.5*((exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3))+log(0.5*(0.3+a))
结果:
(1)z2 = 0.7182 - 0.0088i 0.7461 + 0.5434i
-0.1473 - 1.5679i 1.1555 - 0.0016i
(2)z3为的值如下图所示
workspace:
2.矩阵的计算
代码:
1. A=[12 34 -4;34 7 87;3 65 7];
2. B=[1 3 -1;2 0 3;3 -2 7];
3. det(B)
4. s1=A*B
5. s2=A.*B
6. s3=A^3
7. s4=A.^3
8. s5=A/B
9. s6=B\A
10. s7=[A,B]
11. s8=[A([1,3],:);B^2]
结果:
(1) A*B & A.*B
A*B = A.*B =
68 44 62 12 102 4
309 -72 596 68 0 261
154 -5 241 9 -130 49
(2) A^3 & A.^3
A^3 =
37226 233824 48604
247370 149188 600766
78688 454142 118820
A.^3 =
1728 39304 -64
39304 343 658503
27 274625 343
(3) A/B & B/A
A/B =
16.4000 -13.6000 7.6000
35.8000 -76.2000 50.2000
67.0000 -134.0000 68.0000
A\B=
109.4000 -131.2000 322.8000
-53.0000 85.0000 -171.0000
-61.6000 89.8000 -186.2000
(4) [A,B] & [A([1,3],:);B^2]
[A,B] =
12 34 -4 1 3 -1
34 7 87 2 0 3
3 65 7 3 -2 7
[A([1,3],:);B^2] =
12 34 -4
3 65 7
4 5 1
11 0 19
20 -5 40
二、MATLAB矩阵分析与处理
3.建立一个的矩阵,求它行列式值、迹、秩和范数。
代码:
1. C=[1 2 4 6 4;3 6 5 7 8;4 0 8 3 2;7 9 5 2 1;1 1 0 3 4]
2. detC=det(C)
3. trC=trace(C)
4. rC=rank(C)
5. norm_1=norm(C,1)
6. norm_2=norm(C)
7. norm_inf=norm(C,'inf')
8. norm_F=norm(C,'fro')
结果:
建立的矩阵:
行列式:detC =-2209
迹:trC =21
秩:rC =5
1-范数:norm_1 =22
2-范数:norm_2 =20.4759
无穷范数:norm_inf =29
F-范数:norm_F =23.1517
4.求解线性方程组
代码:
1. format rat
2. A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]
3. b=[0.95;0.67;0.52]
4. X=A\b
5. cond(A)
6. b1=[0.95;0.67;0.53]
7. X1=A\b1
结果:
(1) 方程的解
X1 =
6/5
3/5
3/5
(2) 时方程的解
X2 =
3
-33/5
33/5
可以看出,只改变了0.01,而解X中:改变了1.8; 改变了7.2;改变了6.
因此,稍微变动,解的相对变化是较大的。
(3) 计算矩阵的条件数并分析
cond(A) = 9473/7
可以看出这个线性方程组系数矩阵A的条件数是很大的。而条件数事实上表示了矩阵计算对于误差的敏感性。对于线性方程组Ax=b,A的条件数大,b的微小改变就能引起解x较大的改变,数值稳定性差。这道题中b很小的扰动就引起了X很大的变化,这就是矩阵A条件数大的表现。
三、选择结构程序设计
5.求分段函数的值
代码:
1. %f.m
2. function y=f(x)
3. if x<0&&x~=-3
4. y=x^2+x-6;
5. elseif x>=0&&x<5&&x~=2&&x~=3
6. y=x^2-5*x+6;
7. else
8. y=x^2-x-1;
9. end
10. %main function
11. i=0
12. for x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]
13. i=i+1;
14. y(i)=f(x)
15. end
y = 14 11 2 1 -1/4 5 19
四、循环结构程序设计
6.求的近似值
代码:
1. format short
2. n1=1:100;
3. pai=sqrt(6*sum(1./(n1.*n1)))
4. n2=1:1000;
5. pai=sqrt(6*sum(1./(n2.*n2)))
6. n3=1:10000;
7. pai=sqrt(6*sum(1./(n3.*n3)))
结果:
n=100 =3.1321
n=1000 =3.1406
n=10000 =3.1415
7.计算迭代公式
代码:
1. x(1)=1;
2. a=input('a:');
3. b=input('b:');
4. r1=(-b+sqrt(b^2+4*a))/2
5. r2=(-b-sqrt(b^2+4*a))/2
6. if a<=0||b<=0
7. disp('error!');
8. end
9. for i=1:500 %控制迭代次数为500次
10. x(i+1)=a/(b+x(i));
11. if abs(x(i+1)-x(i))<=0.00001 %迭代终止条件
12. break;
13. end
14. end
结果:
• (a, b)=(1, 1)
准确值:0.6180 / -1.6180
迭代结果:0.618032786885246(14次迭代)
• (a, b)=(8, 3)
准确值:1.7016 / -4.7016
迭代结果:1.70156355863351(14次迭代)
• (a, b)=(10, 0.1)
准确值:3.1127 / -3.2127
迭代结果:3.11266814976286(425次迭代)
五、函数文件
8.函数文件fx.m,可矩阵输入,得到同阶矩阵输出
代码:
1. function f=fx(x)
2. f=1./((x-2).^2+0.1)+1./((x-3).^4+0.01);
3. end
六、高层绘图操作
9.代码:
1. x=-pi/2:pi/20:pi/2;
2. subplot(2,2,2);
3. y=sqrt(cos(x));
4. plot(x,y,'r');
5. title('cos(x)')
6. subplot(2,2,3);
7. x=-2:0.02:2;y=-4:0.04:4;
8. [X,Y]=meshgrid(x,y);
9. Z=X.^2/4+Y.^2/16;
10. mesh(X,Y,Z);
11. title('Z=X^2/4+Y^2/16')
结果:
七、数据处理与多项式计算
10. 三次样条插值
代码:
1. t1=6:2:18;
2. Tempreture_inside1=[18 20 22 25 30 28 24];
3. Tempreture_outside1=[15 19 24 28 34 32 30];
4. t2=6.5:2:18.5;
5. Tempreture_outside=interp1(t1,Tempreture_outside1,t2,'spline')
6. Tempreture_inside=interp1(t1,Tempreture_inside1,t2,'spline')
结果:
6:30~18:30室外温度(℃):
Tempreture_outside =
15.6553 20.3355 24.9089 29.6383 34.2568 30.9594 31.1218
6:30~18:30室内温度(℃):
Tempreture_inside =
18.5020 20.4986 22.5193 26.3775 30.2051 26.8178 23.7966
11. 5次拟合多项式
代码:
1. x=[1 11 21 31 41 51 61 71 81 91 101];
2. y=[0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9590 2.0043];
3. p=polyfit(x,y,5)
4. xi=1: 101;
5. yi=polyval(p,xi);
6. plot(x,y,'o',xi,yi,'-');
7. axis([0 105 0 2.5])
结果:
拟合多项式:
在[1,101]区间的函数曲线:
八、数值微积分与方程数值求解
12.求定积分
代码:
1. %f2.m
2. function f=f2(x)
3. f=(log(1+x))./(1+x.^2);
4. end
5. %f1.m
6. function fun=f1(t)
7. fun=sqrt(cos(t.^2)+4*sin(4*t.^2)+1);
8. end
9. %main function
10. I1=quad(@f1,0,2*pi)
11. I2=quad(@f2,0,2*pi)
结果:
= 6.7992 + 3.1526 =0.9997
13.数值方法求解线性方程组
代码:
1. A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2]
2. b=[-4,13,1,11]'
3. x=A\b %x1=inv(A)*b
结果:
X= 0.6667
-1.0000
1.5000
-0.0000
九、符号计算基础与符号微积分
14.化简表达式
代码:
1. s1=sym('sin(byte1)*cos(byte2)-cos(byte1)*sin(byte2)');
2. S1=simplify(s1)
3. s2=sym('(4*x^2+8*x+3)/(2*x+1)');
4. S2=simplify(s2)
结果:
(1) S1 =sin(byte1 - byte2)
(2) S2 =2*x + 3
15.极限与导数
代码:
1. syms x;
2. f1=(x.*(exp(sin(x))+1)-2*(exp(tan(x))-1))./sin(x)^3;
3. lim=limit(f1,x,0)
4. y=(1-cos(2*x))/x;
5. dy=diff(y,x)
6. d2y=diff(y,x,2)
结果:
(1) lim =-1/2
(3) dy =(2*sin(2*x))/x + (cos(2*x) - 1)/x^2
d2y =(4*cos(2*x))/x - (4*sin(2*x))/x^2 - (2*(cos(2*x) - 1))/x^3
16.求积分
代码:
1. syms x;
2. f1=1/(1+x.^4+x.^8);
3. I1=int(f1)
4. f2=(x.^2+1)/(x.^4+1);
5. I2=int(f2,x,0,inf)
结果:
(1) I1 =-(3^(1/2)*(atan((2*3^(1/2)*x)/(3*((2*x^2)/3 - 2/3))) - atanh((2*3^(1/2)*x)/(3*((2*x^2)/3 + 2/3)))))/6
(3) I2 =(pi*2^(1/2))/2
十、级数与方程符号求解
17. 级数符号求和
代码:
1. syms n;
2. s=symsum(1/(2*n-1),1,10)
结果:
S =31037876/14549535
18. 微分方程初值问题的符号解与数值解
代码:
1. %ode.m
2. function dy=ode(x,t)
3. dy=zeros(2,1);
4. dy(1)=t(2);
5. dy(2)=-4*t(2)-29*t(1);
6. end
1. clc;
2. s=dsolve('D2y+4*Dy+29*y=0','y(0)=0','Dy(0)=15','x')
3. x=0:0.1:10;
4. y=3*sin(5*x).*exp(-2*x);
5. plot(x,y)
6. hold on
7. [x,y]=ode45(@ode,[0 10],[0 15]);
8. plot(x,y(:,1),'ro')
9. xlabel('x'),ylabel('y')
10. legend('exact','numerical')
结果:
符号解:y = 3*sin(5*x)*exp(-2*x)
精确解与数值解对比图:
19. 求微分方程组的通解
代码:
1. [x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z','t')
2. x=simplify(x)
3. y=simplify(y)
4. z=simplify(z)
结果:
x =C1*exp(2*t) + C2*exp(-t)
y =C1*exp(2*t) + C2*exp(-t) + C3*exp(-2*t)
z =C1*exp(2*t) + C3*exp(-2*t)
PS:不知道怎么在CSDN中上传PDF,有些图片没法显示。如果知道怎么上传文件,麻烦留言~谢谢!
一些有关MATLAB使用的基础习题相关推荐
- matlab面向对象排序,matlab面向对象编程基础
matlab面向对象编程基础 觉得有用的话,欢迎一起讨论相互学习~ Matlab面向对象大体结构 类定义的普通模板 代码清单2.1.1 classdef className properties pr ...
- 量子计算机区别于冯诺依曼机的一个显著特点,大学计算机基础习题答案西安交大.doc...
大学计算机基础习题答案西安交大 习题参考答案 习题一 1.第一代计算机的主要部件是由( 电子管和继电器 )构成的. 2.未来全新的计算机技术主要指( 光子计算机生物计算机量子计算机 3.按照Flynn ...
- 科学计算:Python VS. MATLAB(3)----线性代数基础
科学计算:Python VS. MATLAB(3)----线性代数基础 按:在介绍工具之前先对理论基础进行必要的回顾是很必要的.没有理论的基础,讲再多的应用都是空中楼阁.本文主要设涉及线性代数和矩阵论 ...
- 触摸屏通常接在微型计算机,计算机应用基础习题答案.doc
计算机应用基础习题答案 第1章习题答案 简答题 计算机的发展已经历了几代?每代的特点是什么? 答:电子计算机的发展已经历了四代,正向第五发展.第一代电子计算机的特点是:硬件电子逻辑元件为电子管,软件只 ...
- 计算机应用大一题,大一计算机应用基础习题与答案(精选).doc
大一计算机应用基础习题与答案(精选) 计算机应用基础习题答案 第1章习题答案 简答题 计算机的发展已经历了几代?每代的特点是什么? 答:电子计算机的发展已经历了四代,正向第五发展.第一代电子计算机的特 ...
- 半小时入门MATLAB编程入门基础知识:
https://learnxinyminutes.com/docs/zh-cn/matlab-cn/ 半小时入门MATLAB编程入门基础知识: % 以百分号作为注释符 %{ 多行注释 可以 这样 表示 ...
- 计算机应用基础教程上机指导及题库,计算机应用基础习题及上机指导
图书简介 <计算机应用基础习题及上机指导>(以下简称<习题及上机指导>),与<计算机应用基础>教材配套使用,共分为习题.实例操作.实验指导和实训指导四大部分.习题部 ...
- 001_02-python基础习题答案
python 基础习题 执行 Python 脚本的两种方式 如:脚本/python/test.py 第一种方式:python /python/test.py 第二中方式:在test.py中声明:/us ...
- MATLAB之绘图基础
第7部分 MATLAB的绘图基础 1.二维图形绘制 (1)plot()函数 格式: plot(x)plot(x,y) 图形绘制函数plot(x)的格式说明 x内容 说明 实向量y 以y元素下标序号i为 ...
- matlab 祁彬彬,MATLAB 向量化编程基础精讲
<MATLAB 向量化编程基础精讲>使用MATLAB新版本2016a,拣选Mathworks官方群组Cody中一些有趣的代码问题,分6章讲解这些优秀示例代码中使用数组.字符串操作.正则表达 ...
最新文章
- 网页里如何使用js禁用控制台
- 深度残差网络(ResNet)详解与实现(tensorflow2.x)
- 基于IdentityServer4的单点登录——IdentityServer
- QNX 系统日志设计
- yjv是电缆还是电线_yjv电缆中的yjv是什么意思?yjv与yjv22电缆区别有哪些?
- dispatch_apply快速迭代
- 第三方登录:QQ登录接入指南
- 2020上海大学生网络安全赛MISC题WP
- 怎么修改PDF文件内容,PDF怎么删除其中一页
- 记一次小白调参baseline——NLP中文预训练模型泛化能力比赛
- 数据结构 斐波那契查找法(C语言)
- 没有CANdela,无法编辑cdd数据库文件,也能轻松完成诊断测试,立省大二十个w
- 笔记本电脑键盘失效修复方法,我搞了好久
- 回归预测 | MATLAB实现PCR(主成分回归)多输入单输出
- 国密学习笔记 对称密码算法
- 新浪微博如何申请API
- 任天堂战略聚焦与取舍学习笔记
- 《功夫熊猫》字幕翻译个案研究
- python金融分析试题及答案_Python在金融中的应用-曾凡-中国大学mooc-试题题目及答案...
- 2021CCPC网络赛榜单
热门文章
- 软件工程网络15结对编程作业1(201521123018谢元将)
- Pytorch:一、对图片数据进行标准化(猫狗)
- 红米手机html文件,红米手机中ES文件浏览器无法删除SD卡中文件的解决办法-es文件浏览器...
- 数据库 --- 表的创建(DDL)以及数据的插入、修改和删除(DML)
- cf1009 C. Annoying Present
- 图片像素转换工具(pixelmash 2020) v2020.1.0
- 阿里云监控列表和内存使用率数据展示为N/A,怎么办?
- windows 电脑如何查看电脑显卡内存(显存)、CPU型号、内存、USB集线器等配置信息 win+r dxdiag
- android pay和hce区别,一文带你看懂闪付和云闪付的区别
- 【工控老马】力控7.0与S7-200SMART的驱动连接