MATLAB学习(一)——状态好状态坏,自作自受

  状态不好,学学MATLAB做做准备吧。

一、基本情况

1.1 书写  

一行写不下?

%可以加上三个小黑点(续行符)并按下回车键,然后接下去再写。例如 s=1-1/2+1/3-1/4+1/5-1/6+1/7-…- 1/8+1/9-1/10+1/11-1/12;

1.2 运算相关

不等于:~=

所以,非:~

常用的矩阵运算:

eye(size(A))   产生与A矩阵同阶的单位矩阵

zeros(m,n)         产生0矩阵

ones(m,n)         产生1矩阵

rand (m,n)        产生随机元素的矩阵

Size(a)          返回包含两个元素的向量。

Length(a)     返回向量的最大者。

--两个栗子

求解线性方程组AX=B

            1    1.5   2      9    7                    3

             0    3.6   0.5  -4    4                  -4

其中A=      7    10    -3   22   33    , B=    20

   3    7     8.5   21   6                    5

   3    8     0      90  -20                16

在MATLAB命令窗口输入命令:

a=[1,1.5,2,9,7;0,3.6,0.5,-4,4;7,10,-3,22,33;3,7,8.5,21,6;3,8,0,90,-20];

b=[3;-4;20;5;16];

    x=a\b

    【例2】  求方程 x^4+7x^3 +9x-20=0的全部根。  

在MATLAB命令窗口输入:

p=[1,7,0,9,-20];   %建立多项式系数向量

x=roots(p)         %求根

二、程序设计

2.1 输入输出数据

--输入

调用格式:  A=input(提示信息,选项);

R = INPUT(‘What is your name‘,‘s‘)

求一元二次方程ax^2+bx+c=0

a=input(‘a=?‘);

b=input(‘b=?‘);

c=input(‘c=?‘);

d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]

将该程序以aa.m文件存盘,然后运行aa.m文件。

--disp

A=‘Hello,MATLAB‘;

disp(A)

输出为:  Hello,MATLAB

2.2 举个例子

计算素数

% Calculate the primes between min to max
clc
clear all
max=input(‘The maxium num is ‘)
min=input(‘The minum num is ‘)

 n=0;
    for m=min:max
       flag=1; %the sign of prime or not
       j=m-1;
       i=2;
       while i<=j & flag
           if rem(m,i)==0
              flag=0;
           end
    i=i+1;
       end
       if flag
          n=n+1;
          prime(n)=m;
       end
    end
    prime %变量prime存放素数
       

输入20个数,求其中最大数和最小数。要求用循环结构来实现。

function [max,min]=findmaxmin(a)
if ~ismatrix(a)
    disp(‘Please type in a matrix!‘)
else
    [m,n]=size(a);
    max=a(1,1);
    min=a(1,1);
    for i=1:m
        for j=1:n
            if a(i,j)<=max&a(i,j)>=min
                continue
            elseif a(i,j)>max
                max=a(i,j);
            elseif a(i,j)<min
                min=a(i,j);
            end
        end
    end
end

三、文件操作

建立一数据文件test.dat,用于存放矩阵A的数据

A=[-0.6515  -0.2727  -0.4354  -0.3190  -0.9047
         -0.7534  -0.4567  -0.3212  -0.4132  -0.3583
         -0.9264  -0.8173  -0.7823  -0.3265  -0.0631
         -0.1735  -0.7373  -0.0972  -0.3267  -0.6298
         -0.4768  -0.6773  -0.6574  -0.1923  -0.4389]

 Fid=fopen(‘test.dat‘, ‘w‘)

 cnt=fwrite(Fid, A, ‘float‘)

 fclose(Fid)

 四、绘图

4.1 plot

计算0-2pi的sinx*cos5x

clear
clc
x=linspace(0,2*pi,120);
y=sin(x).*cos(5*x);
plot(x,y);
title(‘sinx*cos5x‘);
xlabel(‘x‘);
ylabel(‘y‘);
text(x,y,‘y‘); %线上文字
legend(‘sinx*cos5x‘);  %图示
axis auto;
axis on;       
时间: 2024-08-09 10:43:44

MATLAB学习(一)——状态好状态坏,自作自受的相关文章

Rhythmk 学习 Hibernate 02 - Hibernate 之 瞬时状态 离线状态 持久化状态 三状态

by:rhythmk.cnblogs.com 1.Hibernate 三种状态: 1.1.三种定义(个人理解,不一定准确):  瞬时状态(transient):    不被session接管,且不存在数据库中的对象的状态,类似于新New一个对象  离线状态 (detached):    数据库中存在而不被session接管  持久化状态(persistent): 对象被session管理且数据库中存在此对象 1.2. 状态之间转换关系图 2 .状态转换以及Hibernate数据库执行过程详解:

设计模式学习(十七) 状态模式

场景: -- 酒店系统中,房间的状态变化:   空闲 -- >已预定 -- > 已入住 核心: -- 用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题 结构: -- Context环境类 环境类中维护一个State对象,他是定义了当前的状态 -- State抽象状态类 -- 每一个类封装了一个状态对应的行为 代码实现: package state; public class HomeContext { private State state; public void setStat

设计模式学习总结(二十三)--状态模式

定义 在很多情况下,一个对象的行为取决于它的一个或多个变化的属性,这些属性我们称之为状态,这个对象称之为状态对象.对于状态对象而已,它的行为依赖于它的状态,比如你要预订房间,那么只有当该房间为空闲时你才能预订,你想入住该房间也只有当你预订了该房间或者该房间为空闲时.对于这样的一个对象,当它在于外部事件产生互动的时候,其内部状态就会发生改变,从而使得他的行为也随之发生改变. 状态模式就是允许对象在内部状态发生改变时改变它的行为,看起来好像修改了它的类. 角色 Context: 环境类.可以包括一些

[转载]Matlab实用小技巧——Matlab学习笔记

1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. 2. figure命令新建一个绘图窗口 figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口.当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象.所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到). figu

MATLAB学习(3)

matlab读取图像并转化为灰度图像 image = imread('C:\Users\Administrator\Desktop\图像降噪\src\original image\100.png'); image = rgb2gray(image); image = imread('C:\Users\Administrator\Desktop\图像降噪\src\original image\1.bmp'); image = rgb2gray(image); % figure ,imshow(im

matlab学习---------------进度条waitbar

语法: h = waitbar(x,'message') waitbar(x,'message','CreateCancelBtn','button_callback') waitbar(x,'message',property_name,property_value,...) waitbar(x)   %将进度条进度改为新值 waitbar(x,h)  %将句柄h的进度条进度改为x waitbar(x,h,'updated message') %更新进度条显示的进度和文字 实例1):h = w

Matlab学习----------GUI数据管理

向gui handles结构体中添加新的字段: hbtn=uicontrol('tag','mybtn',... 'style','pushbutton',...%普通的按钮 'callback',{@mybtn_Callback,handles},...%回调函数 'string','用户自定义的按钮',...%按钮上的内容 'units','normalized',... 'position',[0.45 0.5 0.2 0.1]); handles.mybtn=hbtn; handles.

matlab学习------------普通dialog对话框,错误对话框errordlg,警告对话框warndlg

Dialog对话框 语法: h = dialog('PropertyName',PropertyValue,...) 对话框的默认属性 WindowStyle的值:   {normal} | modal | docked 具体实例: out = dialog;    %默认显示对话框之后点击对话框中的空白部分对话框会关闭掉 结果: %普通对话框 out = dialog('WindowStyle', 'normal',... 'Name', '我的Dialog对话框',... 'position

Matlab学习-----------GUIDE菜单学习

打开GUIDE,添加组件,然后点击菜单编辑按钮: 编辑菜单和子菜单,包含快捷键,label和tag,然后点击View编辑菜单的回调函数: 为按钮添加回调函数,程序如下: function varargout = guide_menu(varargin) % GUIDE_MENU MATLAB code for guide_menu.fig % GUIDE_MENU, by itself, creates a new GUIDE_MENU or raises the existing % sing