我是靠谱客的博主 寒冷烧鹅,最近开发中收集的这篇文章主要介绍[Matlab]入门教程基础向笔记(B站视频)快捷操作计算细节运算符号一个基本的计算脚本if条件语句while循环语句for循环语句函数模块画图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[Matlab]入门教程基础向笔记(B站视频)

快捷操作

  1. clc:清除命令行窗口历史操作
  2. 用⬆(上箭头)表示快捷输入上一段代码

计算细节

  1. 矩阵相乘

A*B:表示现代中的相乘运算
A.B:表示各个数字分别相乘运算
例:A=[1 2 ;3 4]
B=[5 6;7 8]
A
B=[13 16;13 16]
A.*B=[3 8;5 12]

  1. mod(x,y):求x,y相除的余数

运算符号

&&:并且
||:或者
非:~

一个基本的计算脚本

fprintf输出

x=input('please input x:');
y=input('please input y:');
fprintf('the answer is:%fn',x+y);
fprintf('the answer is:%g+%g=%gn',x,y,x+y);

please input x:1
please input y:2
the answer is:3.000000
the answer is:1+2=3

disp输出

disp('apple','banana','orange')

错误使用 disp
输入参数太多。

disp(['apple','banana','orange'])

applebananaorange

disp(['apple ','banana ','orange'])

apple banana orange

 fr1='apple';
fr2='banbana';
fr3='orange';
disp([fr1,fr2,fr3])

applebanbanaorange

 fr1='apple';
fr2='banbana';
fr3='orange';
disp([fr1,' ',fr2,' ',fr3])

apple banbana orange

if条件语句

a=input('a =');
b=input('b =');
c=input('c =');
delta=b^2-4*a*c;
if delta>0
x1=-b+sqrt(delta)/(2*a);
x2=-b-sqrt(delta)/(2*a);
fprintf('x1=%fnx2=%fn',x1,x2);
elseif delta==0;
x=-b/(2*a);
fprintf('x=%fn',x);
else delta<0;
fprintf('no solution');
end

a =1
b =1
c =-2
x1=0.500000
x2=-2.500000

!注意:
换行符为n,为右斜杠;
根号用sqrt()表示

while循环语句

i = 1;
s = 0;
while i <= 100;
i=i+1;
s=s+i;
end
disp(s)

5150

for循环语句

%求1-1/2+1/3-1/4+1/5....-1/100的和
s=0;
for i = 1:100;
if mod(i,2)==1;
s=s+1/i;
else
s=s-1/i;
end
end
disp(s)

0.6882

函数模块

  1. 计算a-b的总数
function
Untitled6( a,b )
%Untitled6为文件名,a,b为参数
s=0;
for i = a:b;
s=s+i;
end
disp(s)
end

调用方法:
Untitled6( 5,6 )
11

  1. 定义函数返回值,使其赋值
function result = Untitled7( a,b)
%注意,此时与上一段代码不同,定义了一个result 返回值
s=0;
for i = a:b;
s=s+i;
end
result=s;
%result为函数返回值
end

s1=Untitled7(1,3)

s1 =

6

s2=Untitled7(11,12)

s2 =

23

s1+s2

ans =

29

画图

  • matlab每次使用plot时都会将上一次图形给覆盖掉
  • 若想同时保留两张图,可在第一个plot后加上hold on
  • 使用grid on 显示图像网格
  • 添加标题使用title(’ ')
  • 添加x,y轴标签:xlabel(’ ‘);ylabel(’ ')
x1 = -5:0.1:5;
y1 = x1.*x1;
plot(x1,y1);
hold on;
x2 = -5:0.1:5;
y2 = x2.^3;
plot(x2,y2);
grid on;
title('x^2 vs x^3');
xlabel('x');
ylabel('y');

在这里插入图片描述

简单的plot直线图

x = -3:0.1:3;
%表示x从步距为0.1,从-3到3
y = x.*x;
%注意为点乘,或者使用x.^2也为点乘
plot(x,y,'r-o') %'r-o'表示图形颜色为红色,在关键点上画圆
axis equal %表示直线坐标的xy轴间距相同

在这里插入图片描述

简单的直方图bar

>> x=2000:2005;
>> y=[10 15 20 22 23 25];
>> bar(x,y)

在这里插入图片描述

画一个简单3D图像:plot3

>> theta = 0 :pi/50 : 6*pi;
>> x = cos(theta);
>> y = sin(theta);
>> z = 0 :300;
>> plot3(x,y,z)

在这里插入图片描述

用subplot对画图区进行分块

subplot(a,b,[c,d]) %a,b表示分块方式,c,d表示定位

x = -4:0.1:4;
y1 = cos(x);
y2 = cos(2.*x);
y3 = cos(4.*x);
subplot(2,2,1);
plot(x,y1);
title('y = cos(x)');
subplot(2,2,2);
plot(x,y2);
title('y = cos(2x)');
subplot(2,2,[3,4]);
plot(x,y3);
title('y = cos(4x)');

在这里插入图片描述

surf曲面三维立体图

x = -3:0.1:3;
y = -3:0.1:3;
[X,Y] = meshgrid(x,y);
%取坐标上每一个x,y的值,赋值给X,Y
Z = X.^2+Y.^2;
surf(X,Y,Z); %画出X,Y,Z的三维图

在这里插入图片描述

做动画效果

做一个永动的sin曲线

X = -2*pi:0.1:2*pi;
Y = sin(X);
h = plot(X,Y); %将每一次的Y赋值给h
while true %当程序为真时,即表示永久运行
X = X+0.1; %X往右侧移动0.1的单位
Y = sin(X);
set(h,'XData',X,'YData',Y) %重新设置h,注意引号的使用和X,D为大写
drawnow; %强制把图像再画一遍
end

在这里插入图片描述

做一个永动的弹簧

theta = -10*pi:0.1:10*pi;
X = cos(theta);
Y = sin(theta);
Z=theta;
h = plot3(X,Y,Z);
%先画一个三维立体的图
axis([-1,1,-1,1,-40,40])
%将x,y,z轴固定起来,不随弹簧的变动而变动
while true
%while循环使其永久实现
for i = 1:100
Z = 0.98*Z;
set(h,'XData',X,'YData',Y,'ZData',Z);
drawnow;
end
%先使其收缩
for i = 1:100
Z = Z/0.98;
set(h,'XData',X,'YData',Y,'ZData',Z);
drawnow;
end
%再使其变大
end

在这里插入图片描述

做一个时钟的线

t = 0:pi/50:2*pi;
X = cos(t);
Y = sin(t);
plot(X,Y);
axis equal;
hold on;
lineX = [0 1];
lineY = [0 0];
h = plot(lineX,lineY);
theta = 0;
while true;
theta = theta+0.01;
lineX(2)=cos(theta);
lineY(2)=sin(theta);
set(h,'XData',lineX,'YData',lineY);
drawnow;
end

在这里插入图片描述

最后

以上就是寒冷烧鹅为你收集整理的[Matlab]入门教程基础向笔记(B站视频)快捷操作计算细节运算符号一个基本的计算脚本if条件语句while循环语句for循环语句函数模块画图的全部内容,希望文章能够帮你解决[Matlab]入门教程基础向笔记(B站视频)快捷操作计算细节运算符号一个基本的计算脚本if条件语句while循环语句for循环语句函数模块画图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部