MATLAB入门
来源:互联网 发布:南京网络教育本科 编辑:程序博客网 时间:2024/04/28 23:42
MATLAB 概述
20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即是用FORTRAN编写的处于萌芽状态的MATLAB。
MATLAB 的工作环境
MATLAB各种操作命令都是从命令行窗口开始的,用户可以在命令窗口中输入MATLAB命令,实现相应的功能。
命令行窗口
x = linespace(0,3*pi,20);y = cos(x) + sin(x);e = std(y) * ones(size(x)) %标准差errorbar(x,y,e);e = Columns 1 through 141.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 1.0058 Columns 15 through 201.0058 1.0058 1.0058 1.0058 1.0058 1.0058
运行结果如图1-1所示
在MATLAB中,命令行窗口常用的命令和功能表如表1-1所示
帮助系统窗口
图形窗口
M文件窗口
MATLAB程序控制结构
顺序结构
顺序结构是指所有组成程序源代码的语句按照由上至下的次序依次执行,知道程序的最后一个语句。这种程序有点事容易编制;缺点是结构单一,能够实现的功能有限。
数据输入
从键盘输出数据,则可以使用函数input来进行,该函数的调用格式为
A = input(提示语句,选项);
其中,提示信息为一个字符串,用于提示用户输入什么样的数据。
如果在input函数调用时‘s’ 选项,则允许用户输入一个字符串。例如,想输入一个人的名字,可以采用以下命令:
xm = input('What is your name','s');
数据输出
MATLAB提供的命令窗口输出函数主要有disp,其调用格式为disp(输出项);
其中,输出项可以为字符串,也可以为矩阵。
A = 'Hello, MATLAB';disp(A);
运行结果如下
Hello, MATLAB
选择结构
在MATLAB中,选择结构依照不同的条件进行判断,然后根据判断的结果进行某种方法来解决某个问题。
if 语句
单分支if语句
if 条件 语句组1end
双分支if语句
if 条件 语句组1else 语句组2end
多分枝if语句
if <逻辑判断语句1> 语句组1elseif <逻辑判断语句2> 语句组2elseif <逻辑判断语句3> 语句组3…else 语句组Nend
switch-case语句
switch 表达式 case 语句1 语句组1 case 语句2 语句组2 … case 语句m 语句组m otherwise 语句组nend
循环结构
for语句
for 循环变量 = 表达式1:表达式2:表达式3 循环体语句end
其中,表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。
while循环结构
while(表达式) MATLAB语句end
变量、数值与表达式
变量
”变量”来源于数学,是计算机语言中能存储计算结果和能表示值抽象概念。
关键字
>> iskeywordans = 'break''case''catch''classdef''continue''else''elseif''end''for''function''global''if''otherwise''parfor''persistent''return''spmd''switch''try''while'
数值
表达式
数组与矩阵
数组的创建与操作
常见的数组运算
矩阵的表示
矩阵的运算
数值分析
图形绘制
二维图形的绘制
绘制二维曲线图
%绘制sin(x),sin(2x),sin(3x)clear all;%准备数据x = 0 : 0.01 : 3*pi;y1 = sin(x);y2 = sin(2*x);y3 = sin(3*x);%设置当前绘图区figure;%绘图plot(x,y1,x,y2,x,y3);%设置坐标轴和网络线属性axis([0 8 -2 2]);grid on;%标注图形xlabel('x');ylabel('y');title('演示绘图基本步骤');legend('sin(x)','sin(2x)','sin(3x)')
运行结果如图1-2所示
x = (0:pi/100:2*pi)'; y1 = 2*exp(-0.5*x)*[1,-1]; y2 = 2*exp(-0.5*x).*sin(2*pi*x); x1 = (0:12)/2; y3 = 2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'g--',x,y2,'b-',x1,y3,'rp');
绘制对数曲线图
x = logspace(-1,2); %logspace(a,b),创建行向量x,第一个元素为10^a,最后一个元素为10^b,形成总数为50个元素的等比数列loglog(x,exp(x),'-s');grid on;
运行结果如图1-3所示
绘制其他二维曲线图
figuresubplot(221) %条形图x = -2.9:0.2:2.9;bar(x,exp(-x.^2))subplot(222) %针状图x = 0:0.1:4y = (x.^0.8).*exp(-x)stem(x,y)subplot(223) %阶梯图x = 0:0.25:10stairs(x,sin(2*x)+sin(x))subplot(224) %饼状图x = [21 43 99 1]pie(x)
运行结果如图1-4所示
绘制三维曲线
绘制三维折线和曲线
t = 0:pi/50:8*pi;x = sin(t);y = cos(t);z = t;plot3(x,y,z);xlabel('sin(t)');ylabel('cos(t)');zlabel('t');title('三维螺旋线');
运行结果如图1-5所示:
三维网络曲面的绘制
x = -7:0.5:7;y = x;[X,Y] = meshgrid(x,y);Q = sqrt(X.^2+Y.^2)+eps;Z = cos(Q)./Q;mesh(X,Y,Z);grid on;axis([-10 10 -10 10 -1 1]);xlabel('x');ylabel('y');zlabel('z');
运行结果如图1-6所示
三维阴影曲面的绘制
x = -7:0.5:7;y = x;[X,Y] = meshgrid(x,y);Q = sqrt(X.^2+Y.^2)+eps;Z = cos(Q)./Q;surf(X,Y,Z);grid on;axis([-10 10 -10 10 -0.5 1.5]);shading interp;xlabel('x');ylabel('y');zlabel('z');
- MatLab 入门
- MATLAB入门
- matlab 入门
- MATLAB入门
- matlab入门
- Matlab入门
- Matlab入门
- Matlab入门
- matlab入门
- Matlab入门
- MATLAB 入门
- Matlab入门
- matlab入门
- matlab 入门
- MATLAB入门
- Matlab画图入门
- Matlab入门_01
- Matlab入门_02
- $state.go 传递参数
- 短信验证SMSSDK的使用
- iOS 【Multithreading-GCD 延时执行操作】
- Android 动画相关笔记
- 复制集要点
- MATLAB入门
- C#文件操作
- Linux下的串口继续 转自http://www.cnblogs.com/jason-lu/articles/3173988.html
- 将java web项目转为maven项目
- 关于在eclipse中ADT的安装
- iOS开发代理的实现
- Stackoverflow上人气最旺的10个Java问题
- Centos6.5搭建LDAP服务器及用户添加删除
- 程序员如何坚持写作?