最近在上微分方程数值解的课,下面是作业中关于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使用的基础习题相关推荐

  1. matlab面向对象排序,matlab面向对象编程基础

    matlab面向对象编程基础 觉得有用的话,欢迎一起讨论相互学习~ Matlab面向对象大体结构 类定义的普通模板 代码清单2.1.1 classdef className properties pr ...

  2. 量子计算机区别于冯诺依曼机的一个显著特点,大学计算机基础习题答案西安交大.doc...

    大学计算机基础习题答案西安交大 习题参考答案 习题一 1.第一代计算机的主要部件是由( 电子管和继电器 )构成的. 2.未来全新的计算机技术主要指( 光子计算机生物计算机量子计算机 3.按照Flynn ...

  3. 科学计算:Python VS. MATLAB(3)----线性代数基础

    科学计算:Python VS. MATLAB(3)----线性代数基础 按:在介绍工具之前先对理论基础进行必要的回顾是很必要的.没有理论的基础,讲再多的应用都是空中楼阁.本文主要设涉及线性代数和矩阵论 ...

  4. 触摸屏通常接在微型计算机,计算机应用基础习题答案.doc

    计算机应用基础习题答案 第1章习题答案 简答题 计算机的发展已经历了几代?每代的特点是什么? 答:电子计算机的发展已经历了四代,正向第五发展.第一代电子计算机的特点是:硬件电子逻辑元件为电子管,软件只 ...

  5. 计算机应用大一题,大一计算机应用基础习题与答案(精选).doc

    大一计算机应用基础习题与答案(精选) 计算机应用基础习题答案 第1章习题答案 简答题 计算机的发展已经历了几代?每代的特点是什么? 答:电子计算机的发展已经历了四代,正向第五发展.第一代电子计算机的特 ...

  6. 半小时入门MATLAB编程入门基础知识:

    https://learnxinyminutes.com/docs/zh-cn/matlab-cn/ 半小时入门MATLAB编程入门基础知识: % 以百分号作为注释符 %{ 多行注释 可以 这样 表示 ...

  7. 计算机应用基础教程上机指导及题库,计算机应用基础习题及上机指导

    图书简介 <计算机应用基础习题及上机指导>(以下简称<习题及上机指导>),与<计算机应用基础>教材配套使用,共分为习题.实例操作.实验指导和实训指导四大部分.习题部 ...

  8. 001_02-python基础习题答案

    python 基础习题 执行 Python 脚本的两种方式 如:脚本/python/test.py 第一种方式:python /python/test.py 第二中方式:在test.py中声明:/us ...

  9. MATLAB之绘图基础

    第7部分 MATLAB的绘图基础 1.二维图形绘制 (1)plot()函数 格式: plot(x)plot(x,y) 图形绘制函数plot(x)的格式说明 x内容 说明 实向量y 以y元素下标序号i为 ...

  10. matlab 祁彬彬,MATLAB 向量化编程基础精讲

    <MATLAB 向量化编程基础精讲>使用MATLAB新版本2016a,拣选Mathworks官方群组Cody中一些有趣的代码问题,分6章讲解这些优秀示例代码中使用数组.字符串操作.正则表达 ...

最新文章

  1. 网页里如何使用js禁用控制台
  2. 深度残差网络(ResNet)详解与实现(tensorflow2.x)
  3. 基于IdentityServer4的单点登录——IdentityServer
  4. QNX 系统日志设计
  5. yjv是电缆还是电线_yjv电缆中的yjv是什么意思?yjv与yjv22电缆区别有哪些?
  6. dispatch_apply快速迭代
  7. 第三方登录:QQ登录接入指南
  8. 2020上海大学生网络安全赛MISC题WP
  9. 怎么修改PDF文件内容,PDF怎么删除其中一页
  10. 记一次小白调参baseline——NLP中文预训练模型泛化能力比赛
  11. 数据结构 斐波那契查找法(C语言)
  12. 没有CANdela,无法编辑cdd数据库文件,也能轻松完成诊断测试,立省大二十个w
  13. 笔记本电脑键盘失效修复方法,我搞了好久
  14. 回归预测 | MATLAB实现PCR(主成分回归)多输入单输出
  15. 国密学习笔记 对称密码算法
  16. 新浪微博如何申请API
  17. 任天堂战略聚焦与取舍学习笔记
  18. 《功夫熊猫》字幕翻译个案研究
  19. python金融分析试题及答案_Python在金融中的应用-曾凡-中国大学mooc-试题题目及答案...
  20. 2021CCPC网络赛榜单

热门文章

  1. 软件工程网络15结对编程作业1(201521123018谢元将)
  2. Pytorch:一、对图片数据进行标准化(猫狗)
  3. 红米手机html文件,红米手机中ES文件浏览器无法删除SD卡中文件的解决办法-es文件浏览器...
  4. 数据库 --- 表的创建(DDL)以及数据的插入、修改和删除(DML)
  5. cf1009 C. Annoying Present
  6. 图片像素转换工具(pixelmash 2020) v2020.1.0
  7. 阿里云监控列表和内存使用率数据展示为N/A,怎么办?
  8. windows 电脑如何查看电脑显卡内存(显存)、CPU型号、内存、USB集线器等配置信息 win+r dxdiag
  9. android pay和hce区别,一文带你看懂闪付和云闪付的区别
  10. 【工控老马】力控7.0与S7-200SMART的驱动连接