MATLAB基础(一):MATLAB概述-创新互联
1.matlab简介
1.1Matlab是什么?
MATLAB是MathWorks公司推出的一套高性能数值分析计算软件。它将矩阵运算、数值分析、图形处理、编程技术等集成一体,为广大科研人员提供了一个强大的分析、计算、程序设计与仿真的工具,是科学计算最佳平台。
1.2MATLAB的特性:
强大的计算功能
编程语言简单、内涵丰富
强大的2D、3D数据可视化功能
丰富的工具箱
强大的扩展能力、可开发功能
1.3 MATLAB组成:
MATLAB本身就是一个极其丰富的资源库,MATLAB产品由若干模块组成,不同的模块完成不同的功能,功能模块示意图如下:
1.4 MATLAB的功能:
· 数值分析
· 数值和符号计算
· 工程与科学绘图
· 控制系统的设计与方针
· 数字图像处理
· 数字信号处理
· 通讯系统设计与仿真
· 财务与金融工程
1.5界面介绍:MATLAB R2021a2.matlab的应用举例
2.1数据可视化
(1)绘制图像:
[x1,y1]=meshgrid(-5:0.1:5);
z1=x1.2/3+y1.2/5;
z2=-(x1.2/sqrt(3)+y1.2/4.7);
subplot(121)
mesh(z1)
hold on
mesh(z2)
(2)绘制图像:
[x2,y2]=meshgrid(-8:0.1:8);
z3=sin(sqrt(x2.2+y2.2))./sqrt(x2.2+y2.2);
z4=-sin(sqrt(x2.2+y2.2))./sqrt(x2.2/3.6+y2.2/4.1);
subplot(122)
mesh(z3)
hold on
mesh(z4)
2.2 数字图像处理
假定现有珍贵图片资料,由于年代久远、保存不善、受到污染等,面目全非。我们可以利用MATLAB软件可以对图像虑噪、重构。比如下图,左图为珍贵古琴谱,但是面目全非。经过图像虑噪后如右图,可见为唐朝诗仙李白作秋风词古琴谱。
代码:
function y=zhongzhi(P1)
[row,col]=size(P1);
P1=double(P1);
for i=2:row-1
for j=2:col-1
x=reshape(P1(i-1:i+1,j-1:j+1),1,9);
x=sort(x);
P1(i,j)=x(5);
end
y=uint8(P1);
end
秋风清,秋月明
落叶聚还散,寒鸦栖复惊。
相思相见知何日?此时此夜难为情!
入我相思门,知我相思苦.
长相思兮长相忆,短相思兮无穷极,
早知如此绊人心,何如当初莫相识。
2.3 机器学习算法GUI集成
MATLAB图形用户界面(GUI)是一种包含多种对象的图形窗口,通过GUIDE集成开发环境可以将菜单、对话框及各种控件都集成实现。GUI不仅使用户操作统一,而且方便编程实现。
2.4 彩绘青花瓷瓶程序
t=(0:20)/20;
r=sin(2*pi*t)+2;
[x,y,z]=cylinder(r,40); % 产生旋转体表面的三维数据
subplot(121)
surf(x,y,z)
pause(2)
cx=imread('5.png'); % 读取名为5.npg的图象文件,需要彩绘的图像要准备好
subplot(122)
imshow(cx)
pause(3)
[c,map]=rgb2ind(cx,256); % 真彩色图转换为索引图(若读入的是索引图,不需转换)
c1=double(c)+1; % 把unit8编址图象数据变换为双精度格式
% surf(x,y,z)
pause(5)
figure
surface(x,y,z,'Cdata',flipud(c1),'FaceColor','texturemap',...
'EdgeColor','none','CDataMapping','direct','Ambient',...
0.6,'diffuse',0.8,'speculars',0.9) %通过属性设置,进行彩绘。
colormap(map) % 使用图象的色图
view(-50,10)
pause(5)
axis off
n=moviein(100);
for i=1:100
view(-57.5+(i-1),40-i/3)
pause(0.1)
n(:,i)=getframe;
end
2.5旋转草帽程序
[x2,y2]=meshgrid(-10:0.1:10);
z3=sin(sqrt(x2.^2+y2.^2))./sqrt(x2.^2+y2.^2);
% z4=-sin(sqrt(x2.^2+y2.^2))./sqrt(x2.^2/3.6+y2.^2/4.1);
% subplot(122)
mesh(z3)
hold on
mesh(-z3)
grid off
axis off
pause(3)
%%
n=moviein(200);
for i=1:200
view(-37.5+5*(i-1),30-i/4)
% view(-37.5+24*(i-1),30-i)
n(:,i)=getframe;
end
% movie(m)
(来自连老师上课内容)
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章标题:MATLAB基础(一):MATLAB概述-创新互联
分享URL:http://ybzwz.com/article/dpgiog.html