Matlab系列作业
2024-10-07 23:51:21
(2019年2月19日注:Matlab这门课是在我大四上学期经历的,那时候开这篇文章是为了记录学习Matlab的时候遇到的坑,所以将所有的作业题合并到一篇文章中)
1.创建一个10*10的矩阵,矩阵所有对角元素为1,其余元素为10~20之间(包括10和20)的均匀分布随机数,并得出该矩阵中大于13且小于18的元素个数,同时求得这些元素的平均数。
A=unifrnd(10,20,10,10); % 产生一个10*10的由10到20均匀分布的矩阵
% eye()产生了一个单位对角矩阵
% logical将1的数值转成矩阵的位置
% 带上A以后就可以确定是哪些元素要赋值为1
A(logical(eye(size(A))))=1;
% 找符合条件的元素,并返回元素的索引
B=find(A>13&A<18);
% 计算长度
C=length(B);
% 求均值
D=mean(C);
2. 用mesh函数做出函数$f(x,y)=-[xsin(9πy)+ycos(25πx)+20]$在$x^2+y^2≤10$的图像。
% 定义三个符号变量
syms x y t;
% 给定t的范围,数学上类似于转成极坐标来计算
t=linspace(-1,1);
x=sqrt(10)*cos(t);
y=sqrt(10)*sin(t);
% 在范围定好以后给定变量
[xx,yy]=meshgrid(x,y);
% 函数表达式
f_xy=-1*(xx*sin(9*pi*yy)+yy*cos(25*pi*xx)+20);
% 初级的不能再初级的画图...
mesh(xx,yy,f_xy);
3. 生成30阶的希尔伯特矩阵A,并剔除矩阵的第3到10行,剔除矩阵的4到13列,得到矩阵B,再逆序选取矩阵B的1到10行,顺序选取矩阵的2到11列,得到新矩阵C。(hilb(n))
% 生成一个30阶的希尔伯特矩阵
A=hilb(30);
% 删除3到10行
A(3:10,:)=[];
% 再删除4到13列
A(:,4:13)=[];
% 得到的新矩阵后,逆序索引,从第10到第1行,步长为-1,从2到11列,默认步长为1.
C=A(10:-1:1,2:11);
4. 解常微分方程组$$(1)dx/dt+2x-dy/dt=10cos(t),x(0)=2;$$ $$(2)dx/dt+dy/dt+2y=4e^(-2t),y(0)=2$$并作出$y-x$(横坐标为x,纵坐标为y)在$t∈(0,10)$之间的图像(时间间距尽量小)
% 定义三个符号变量
syms x y t;
% 解微分方程组
[x,y]=dsolve('Dx+2*x-Dy=10*cos(t)','Dx+Dy+2*y=4*exp(-2*t)','x(0)=2','y(0)=2');
% 将得到的通解里面将符号变成可用于计算的数字
X=subs(x,'t',0:0.1:10);
Y=subs(y,'t',0:0.1:10);
% 将符号变量变成数值变量
X=double(X);
Y=double(Y);
% 初级的不能在初级的画图...
plot(X,Y);
5. 解矩阵方程组$H*X=B$,H为100阶希尔伯特矩阵,$X=(x1,x2,x3,……,x100)^T,B=(1,2,3,……,100)^T$
% 定义一个100阶的希尔伯特矩阵
H=hilb(100);
% 定义一个100*1的列向量
B=ones(100,1);
% 由于直接使用int(H)会引入奇异矩阵的误差,因此matlab里面有一个专门的命令invhilb()
% 专门解决希尔伯特矩阵求逆的问题。
X=invhilb(100)*B;
最新文章
- 使用HEXO快速建站
- $().each 和表单事件的坑
- CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
- Atitit数据库层次架构表与知识点 attilax 总结
- 傻瓜式十分钟免费开启 HTTPS,是时候为你的站点加上小绿锁了
- 第一个django
- Oracle 建表,递增序列,触发器,分析函数row_number() ,partition by 子句。
- Unity Scripting Tutorials 要点记录
- Using command-line Subversion to access project source files
- class卸载、热替换和Tomcat的热部署的分析
- 教你用Java安全有效的实现两星期内自动登陆功能-Session
- Ext.net中常用的三种交互方式
- PS2: 这篇文章中的图片绘图工具使用的是Dia (sudo apt-get install dia)。据说yEd也很不错。
- 网络基础知识系列:阐述VLAN和Trunk
- i++与++i陷阱
- 页面第一次加载,JS没有效果,刷新一下就好了
- Redux 核心概念
- POJ1269 Intersecting Lines[线段相交 交点]
- swoft 源码解读【转】
- Python全栈之路----常用模块----hashlib加密模块