上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > win7问题 > java程序设计基础第六版_vb程序设计基础

java程序设计基础第六版_vb程序设计基础

作者:上犹日期:

返回目录:win7问题

内容导航:
  • Matlab程序设计基础
  • matlab程序设计
  • Matlab 程序设计
  • MATLAB 程序设计简单题求解
  • 一、Matlab程序设计基础

    l 2.1 常量与变量


    l 2.1.1 特殊常量


    l


    l >> eps %浮点相对精度(机器零阈值)


    l ans =


    l 2.2204e-016


    l >> pi %圆周率


    l ans =


    l 3.1416


    l >> realmax %最大正实数


    l ans =


    l 1.7977e+308


    l >> realmin %最小正实数


    l ans =


    l 2.2251e-308


    l >> clock %挂钟


    l ans =


    l 1.0e+003 *


    l 2.0070 0.0030 0.0120 0.0200 0.0270 0.0033


    l >> fix(clock)


    l ans =


    l 2007 3 12 20 28 19


    l >> date %日期


    l ans =


    l 12-Mar-2007


    l 其它常用(固定)变量


    l NaN %不定值


    l nargin %函数输入参数数目


    l nargout %函数输出参数数目


    l i,j %虚数单位


    l tic %秒表计时开始


    l toc %秒表计时结束


    l 2.1.2 数值描述


    l >> 3


    l ans =


    l 3


    l >> -99


    l ans =


    l -99


    l >> 0.001


    l ans =


    l 1.0000e-003


    l >> 9.45


    l ans =


    l 9.4500


    l >> 1.3e-3


    l ans =


    l 0.0013


    上机练习:在命令提示符“>>”后面输入这些数,看看得到什么样的结果!


    l >> 4.5e33


    l ans =


    l 4.5000e+033


    l 数值通常采用“占用64位内存的双精度”表示,其相对精度是eps


    l >> 3==3+eps %判断两数是否相等


    l ans =


    l 1


    l >> 3==3+1e-5


    l ans =


    l 0


    l >> 3==(3+(eps*10))


    l ans =


    l 0


    l 2.1.3 一般变量


    l 一、 命名规则


    l (1)变量名区分大小写


    l (2)变量名以字母开头,可以由字母,下划线数字构成,其长度不超过63位(不同版本有效位会有所不同),变量名不可以含有空格、标点、运算符.


    例如


    在MATLAB命令窗口输入命令:


    >> x=1+2i; %一般写成x=1+2*i


    >> y=3-sqrt(17);


    >> z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y));


    注:pi, i由系统本身定义的变量,在使用时,应尽量避免对这些变量重新赋值。


    二、内存变量的管理


    1.内存变量的删除与修改


    MATLAB工作空间窗口专门用于内存变量的管理。在工作空间窗口中可以显示所有内存变量的属性。当选中某些变量后,再单击Delete按钮,就能删除这些变量。当选中某些变量后,再单击Open按钮,将进入变量编辑器。通过变量编辑器可以直接观察变量中的具体元素,也可修改变量中的具体元素。


    clear命令用于删除MATLAB工作空间中的变量。who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单。who命令只显示出驻留变量的名称,whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。


    2.2 数组


    Matlab中的数组包含:行向量,列向量,矩阵及多维数组.


    l 2.2.1 建立数组


    l 1、直接赋值法


    l >> X1=[0 1 2 3 0.1*pi 10*pi]


    l X1 =


    l 0 1.0000 2.0000 3.0000 0.3142 31.4159


    l >> X2=[1 2 3;4 5 6;7 8 9]


    l X2 =


    l 1 2 3


    l 4 5 6


    l 7 8 9


    l >> X3=[1 2 3


    l 4 5 6


    l 7 8 9]


    l X3 =


    l 1 2 3


    l 4 5 6


    l 7 8 9


    l 2、冒号法


    l 语法:初始值:步长:终值


    l >> X4=1:5


    l X4 =


    l 1 2 3 4 5


    l >> X5=1:2:8


    l X5 =


    l 1 3 5 7


    l >> X6=(2:8)*pi


    l X6 =


    l 6.2832 9.4248 12.5664 15.7080 18.8496 21.9911 25.1327


    l >> X7=(2:0.5:4)*pi


    l X7 =


    l 6.2832 7.8540 9.4248 10.9956 12.5664


    l 3、linspace法、logspace法


    l 语法:linspace(初值,终值,元素的个数)


    l logspace(初值,终值,元素的个数)


    l >> X8=linspace(0,2,11) %在区间(0,2)插入9个数


    l X8 =


    l Columns 1 through 10


    l 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000


    l


    l 1.6000 1.8000


    l Column 11


    l 2.0000


    l >> X9=logspace(0,2,11) %在10^0与10^2间插入9个数


    l X9 =


    l Columns 1 through 10


    l 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 25.1189


    l 39.8107 63.0957


    l Column 11


    l 100.0000


    l >> X10=10.^X8 %一个数与数组的运算


    l X10 =


    l Columns 1 through 10


    l 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 25.1189


    l 39.8107 63.0957


    l Column 11


    l 100.0000


    l 4、拼接法


    l >> A=[1 2 3]


    l A =


    l 1 2 3


    l >> B=4:6


    l B =


    l 4 5 6


    l >> AB1=[A,B]


    l AB1 =


    l 1 2 3 4 5 6


    l >> AB2=[A;B]


    l AB2 =


    l 1 2 3


    l 4 5 6


    l >> C=AB2


    l C =


    l 1 2 3


    l 4 5 6


    l >> D=[0 1]' %转置


    l D =


    l 0


    l 1


    l >> CD=[C,D]


    l CD =


    l 1 2 3 0


    l 4 5 6 1


    l 2.2.2 数组的引用


    l 1.一维数组


    l 设X是一维数组,X(n): X的第n个元素


    l X(n1:n2): X的第n1至n2个元素


    l >> X=(1:8)*pi


    l X =


    l 3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 21.9911 25.1327


    l >> X(3)


    l ans =


    l 9.4248


    l >> X(4:8) %访问X的第4至第8个元素


    l ans =


    l 12.5664 15.7080 18.8496 21.9911 25.1327


    l >> X(end:-1:1) %元素倒排


    l ans =


    l 25.1327 21.9911 18.8496 15.7080 12.5664 9.4248 6.2832 3.1416


    l >> X(5:-1:1)


    l ans =


    l 15.7080 12.5664 9.4248 6.2832 3.1416


    l >> X(5:-2:1)


    l ans = 15.7080 9.4248 3.1416


    l 2.二维数组


    l 设X是二维数组,X(m,n): X的第m行第n列元素


    l X(m1,:): X的第m1行元素


    l X(:,n1): X的第n1列元素


    l X(k): X的第k个元素(单下标表示)


    l >> A=reshape(1:9,3,3)


    l A =


    l 1 4 7


    l 2 5 8


    l 3 6 9


    l >> A(1,2) %A的第1行第2列元素


    l ans =


    l 4


    l >> A(6) %A的第6个元素


    l ans =


    l 6


    l >> A(2,:)


    l ans =


    l 2 5 8


    l >> A(:,2)


    l ans =


    l 4


    l 5


    l 6


    l >> A(1:2,3)


    l ans =


    l 7


    l 8


    l >> A(end:-1:1,:)


    l ans =


    l 3 6 9


    l 2 5 8


    l 1 4 7


    l 2.2.3细胞数组与结构数组


    l 1. 细胞数组(cell)


    l 细胞数组是以单元为元素的数组,其元素可以是实数矩阵、字符串数组、复数向量,元素可以是不同数值的数据类型.


    l (1) 细胞数组的创建


    l 左标志法


    l >> C{1,1}=4+6i; %创建细胞数组C


    l >> C{1,2}='Guangxi University';


    l >> C{2,1}=[1 2 3;4 5 6;7 8 9];


    l >> C{2,2}=[1 2 3 4 5 6 7 8 9];


    l


    l >> C


    l C =


    l [4.0000+ 6.0000i] 'Guangxi University'


    l [3x3 double] [1x9 double]


    l


    l >> celldisp(C)


    l C{1,1} =


    l 4.0000 + 6.0000i


    l C{2,1} =


    l 1 2 3


    l 4 5 6


    l 7 8 9


    l C{1,2} =


    l Guangxi University


    l C{2,2} =


    l 1 2 3 4 5 6 7 8 9


    l 右标志法


    l >> D(1,1)={4+6i}; %创建细胞数组D,与C相同


    l >> D(1,2)={'Guangxi University'};


    l >> D(2,1)={[1 2 3;4 5 6;7 8 9]};


    l >> D(2,2)={[1 2 3 4 5 6 7 8 9]};


    l >> D


    l D =


    l [4.0000+ 6.0000i] 'Guangxi niversity'


    l [3x3 double] [1x9 double]


    l >> celldisp(D)


    l D{1,1} =


    l 4.0000 + 6.0000i


    l D{2,1} =


    l 1 2 3


    l 4 5 6


    l 7 8 9


    l D{1,2} =


    l Guangxi University


    l D{2,2} =


    l 1 2 3 4 5 6 7 8 9


    l >> E=C{2,1}


    l E =


    l 1 2 3


    l 4 5 6


    l 7 8 9


    l >> F=C{2,1}(3,1)


    l F =


    l 7


    l >> F=C{1,2}(1,5)


    l F =


    l g


    l 直接输入法


    l >> G={4+6*i,‘Guangxi University’;[1 2 3;4 5 6;7 8 9],[1 2 3 4 5 6 7 8 9]} %与C,D相同,与一般数组相同


    l G =


    l [4.0000 + 6.0000i] 'Guangxi University'


    l [3x3 double] [1x9 double]


    l >> H={'Boy';'Girl'}


    l H =


    l 'Boy'


    l 'Girl'


    l >> GH=[G,H] %细胞数组的合并,与一般数组相同


    l GH =


    l [4.0000 + 6.0000i] 'Guangxi University' 'Boy'


    l [3x3 double] [1x9 double] 'Girl'


    l >> GH{:} %将数组每一个元素显示出来


    l ans =


    l 4.0000 + 6.0000i


    l ans =


    l 1 2 3


    l 4 5 6


    l 7 8 9


    l ans =


    l Guangxi University


    l ans =


    l 1 2 3 4 5 6 7 8 9


    l ans =


    l Boy


    l ans =


    l Girl


    l 2. 结构数组(structer)


    l 每一个结构数组包含数个字段(Fields),而各个字段包含各个不同的类型的数据,例如下面是包含学生资料的结构数组


    l >> student.name='李小二'


    l student =


    l name: '李小二'


    l >> student.id='200601';


    l >> student.scores=‘[60 70 80]’; %字符串


    l >> student


    l student =


    l name: '李小二'


    l id: '200601'


    l scores: '[60 70 80]'


    l >> student.scores=[60 70 80]; %改变成绩数据类型


    l >> student


    l student =


    l name: '李小二'


    l id: '200601'


    l scores: [60 70 80]


    l >> student.scores='[60 70 80]';


    l >> Student=struct(‘name’,‘李大三’, ‘id’,‘200602’,‘scores’,[72 34 89]) %另一方法创建结构数组,注意字母大小写,与前面的student不同


    l Student =


    l name: '李大三'


    l id: '200602'


    l scores: [72 34 89]


    l >> student(2).name=‘王五’; %追加元素


    l >> student(2).id='200602';


    l >> student(2).scores='[83 99 100]';


    l >> student


    l student =


    l 1x2 struct array with fields:


    l name


    l id


    l scores


    l >> student(1)


    l ans =


    l name: '李小二'


    l id: '200601'


    l scores: '[60 70 80]'


    l >> student(2)


    l ans =


    l name: '王五'


    l id: '200602'


    l scores: '[83 99 100]'


    l >> student(3)=struct('name','小周','id','200603', 'scores','[92 95 94]');


    l


    l >> student(3)


    l ans =


    l name: '小周'


    l id: '200603'


    l scores: '[92 95 94]'


    幻灯片35


    l >> student(3).scores(2) %成绩以字符串形式给出,想想为什么显示如下结果?


    l ans =


    l 9


    l >> student(3).scores(3)


    l ans =


    l 2


    l >> student(3).scores=[92 95 94]


    l >> student(3)


    l ans =


    l name: '小周'


    l id: '200603'


    l scores: [92 95 94]


    l student(3).scores(2)


    l ans =


    l 95


    l >> all_names=[student.name]


    l all_names =


    l 李小二王五小周


    l >> all_scores=[student.scores]


    l all_scores =


    l [60 70 80][83 99 100]_^


    l >> student(3).scores=[60 70 80]; %修改成绩属性


    l >> student(2).scores=[83 99 100]


    l student =


    l 1x3 struct array with fields:


    l name


    l id


    l scores


    l >> student(1).scores=[30 75 89];


    l >> all_scores=[student.scores]


    l all_scores =


    l 30 75 89 83 99 100 60 70 80


    l >> cat(1,student.scores) %并排数组,1表示上下并排.


    l ans =


    l 30 75 89


    l 83 99 100


    l 60 70 80


    l >> cat(2,student.scores) %水平排列


    l ans =


    l 30 75 89 83 99 100 60 70 80


    l >> student(1).scores(4)=77 %追加一门成绩


    l >> student(1)


    l ans =


    l name: '李小二'


    l id: '200601'


    l scores: [30 75 89 77]


    l >> student(2).scores(4)=88


    l >> student(3).scores(4)=99;


    l >> all_scores=[student.scores]


    l all_scores =


    l 30 75 89 77 83 99 100 88 60 70 80 99


    l >> cat(1,student.scores)


    l ans =


    l 30 75 89 77


    l 83 99 100 88


    l 60 70 80 99


    l >> average1=mean(cat(1,student.scores)) %计算列平均值


    l average1 =


    l 57.6667 81.3333 89.6667 88.0000


    l >> average2=mean(cat(2,student.scores)‘) %计算行平均值


    l


    l average2 =


    l 67.7500 92.5000 77.2500


    l >> fieldnames(student) %显示字段


    l ans =


    l 'name'


    l 'id'


    l 'scores'


    l >> student(2).age=20 %追加字段并赋值


    l student =


    l 1x3 struct array with fields:


    l name


    l id


    l scores


    l age


    l >> student(2)


    l ans =


    l name: '王五'


    l id: '200602'


    l scores: [83 99 100 88]


    l age: 20


    l >> student(1)


    l ans =


    l name: '李小二'


    l id: '200601'


    l scores: [30 75 89 77]


    l age: [] %没有赋值


    l >> student(1).age=19


    l student =


    l 1x3 struct array with fields:


    l name


    l id


    l scores


    l age


    l >> student(1)


    l ans =


    l name: '李小二'


    l id: '200601'


    l scores: [30 75 89 77]


    l age: 19


    l >> student(3).age=23;


    l >> student(3)


    l ans =


    l name: '小周'


    l id: '200603'


    l scores: [60 70 80 99]


    l age: 23


    l >> Student=rmfield(student,‘age’) %删除一个字段


    l Student =


    l 1x3 struct array with fields:


    l name


    l id


    l scores


    l >> Student(1)


    l ans =


    l name: '李小二'


    l id: '200601'


    l scores: [30 75 89 77]


    二、matlab程序设计

    这里的关键在于mat2gray这个函数的用法。

    mat2gray有两种调用方式:

    I=mat2gray(A,[aminamax])
    I=mat2gray(A)

    第一种调用方式指定对应于光强0-1的A范围,而第二种方式则以A的最小值、最大值分别作为amin和amax。这样意味着,按照正常的理解,如果A的最小值不是0,本来没有完全黑色的点的,但在第二种调用方式下,最小值的点光强为0,即为全黑,类似的,最大值为完全白色。

    如果用

    H=mat2gray(a,[0255]);
    figure;imshow(H);

    会得到和原始的a相同的图像。

    三、Matlab 程序设计

    过了好几天了,不知道题主是否还需要答案?
    需要的话,我可以帮你做。
    不过,事先要声明,我不会按照报告的形式帮你写,只是帮你编写代码,必要的地方加上注释,给出相应的结果,对于思考题之类,把要点说一说,具体形成报告还需要你自己再加工。

    四、MATLAB 程序设计简单题求解

    function [R,amax,id] = mysort2(A)
    R = sort(A,'descend');
    amax = max(R);
    id = find(A == amax);

    相关阅读

    • java程序设计基础第六版_vb程序设计基础

    • 上犹win7问题
    • 内容导航: Matlab程序设计基础 matlab程序设计 Matlab 程序设计 MATLAB 程序设计简单题求解 一、 Matlab程序设计基础 l 2.1 常量与变量 l 2.1.1 特殊常量 l l >> eps %浮点相对精度(机器零阈值) l
    • 骁龙652_骁龙615

    • 上犹win7问题
    • 内容导航: iQOO 7 正式发布,骁龙 888+120W 闪充,3798 元起 IQOO7 这款手机预计什么时候可以上市发布呢? iqoo+neo7什么时候发布 iQOO7配置怎么样啊? 一、 iQOO 7 正式发布,骁龙 888+120W 闪充
    • 怎么学编程_编程软件

    • 上犹win7问题
    • 内容导航: Matlab高效编程的几个“小常识” matlab怎样编程效率才能高一些 MATLAB是做什么用的? 问一个matlab计算多重积分的问题 一、 Matlab高效编程的几个“小常识” 如果有人问你何为
    • 自动化测试最佳实践_appium自动化测试面试

    • 上犹win7问题
    • 内容导航: iOS自动化测试的那些干货:关于appium启动报错问题的解决办法 iOS通过自动化方式启、停appiumServer 使用appium框架进行ios自动化测试有什么优势和劣势 Appium启动错误,是怎么回
    • 7p过时了吗_永不过时

    • 上犹win7问题
    • 内容导航: 今天仍旧在使用的过时产品 手机清理了,有网信号好仍不能看直播和视频怎么回事? 翻盖手机非常常见,为什么日本人喜欢用一些已经过时的科技产品? ese32t怎么设置取消
    • 增值税开票系统_增值税发票验证

    • 上犹win7问题
    • 内容导航: 增值税发票管理系统2.0版常见问题发布 增值税发票管理系统网址登不进去? 增值税发票税控开票软件登录上去为什么会显示连接服务器失败 增值税普通发票UKey版开的发票
    • 重温一下儿时的时光_重温一下儿时的味道

    • 上犹win7问题
    • 内容导航: 重温儿时的感动,这款诞生于11年前的《零之轨迹》你还记得吗? 零之轨迹英雄传说赚钱方法。刚刚玩到第二章。 【???PC游戏前沿动态???】有关《英雄传说7:零之
    关键词不能为空
    极力推荐

    电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

    关于我们