首页 > 其他分享 >matlab教程_台大lecture2

matlab教程_台大lecture2

时间:2024-03-06 16:45:25浏览次数:20  
标签:lecture2 disp 教程 end clear ii matlab jj annPoints

script writing 程序撰写

  1. 保存为.m
    运行:F5  保存时候大小写有区别,字母开头
    注释:% 形成区块:%%(在debug时候很有用),可以分别运行各个部分的内容 

    debug:设置断点,类似于c语言中的,可以看变量的值
    Tips:选中后右键可以智能缩进

structured programming

2.script flow:写程序的一些技巧
script programming:例if elseif for while switch&case break continue end pause return
逻辑符号:类似c语言(~=不等于)

if rem(a, 2) == 0
	disp('a is even');
else
	disp('a is odd');
end
x = 2; k = 0; error = inf;
error_threshold = 1e-32;
while error > error_threshold
    if k > 100
    	break
    end
    x = x - sin(x)/cos(x);
    error = abs(x - pi);
    k = k + 1;
end
for n=1:10
	a(n)=2^n;
end
disp(a)

clear a(否则之前的a的值会影响之后的值)
for n=1:2:10
	a(n)=2^n;
end
disp(a)

>> lecture2
     2     0     8     0    32     0   128     0   512
clear a;
m=1:2:10;
for n=1:length(m)
	a(n)=2^n;
end
disp(a)
去除空格
>> lecture2
     2     4     8    16    32
  1. 为变量预存空间
    可以提升代码运行的速度;否则每次运行都要给变量分配内存地址。

    使用tic toc来计算运行时间
    注意程序运行前要使用

    clear

    来清除影响


%%
clear
tic
for ii = 1:2000
    for jj = 1:2000
        A(ii,jj) = ii + jj;
    end
end
toc

程序输出Elapsed time is 4.616199 seconds.

%%
clear
tic
A = zeros(2000, 2000);		% 预先为变量分配内存空间
for ii = 1:size(A,1)
    for jj = 1:size(A,2)
        A(ii,jj) = ii + jj;
    end
end
toc

程序输出Elapsed time is 2.786401 seconds.

  1. tips:

    clear all:去除之前的变量
    close all:关闭所有的图
    clc:清除命令行的内容
    符号; :不会把执行的结果显示在命令行中
    符号... :换行,把多行语句拼接成一行

    annPoints_sampled = annPoints(annPoints(:,1)>x1 & ...  
    annPoints(:,1) < x2 & ...  
    annPoints(:,2) > y1 & ...  
    annPoints(:,2) < y2);
    

    ctrl C:停止宕机的程序

user-defined function

  1. function:
    内置函数
    eg:>> edit(which('mean.m'))
    可跳转到mean的文件注解  
    
    用户自定义:
    function x = freebody(x0,v0,t)
      % calculation of free falling
      % x0: initial displacement in m
      % v0: initial velocity in m/sec
      % t: the elapsed time in sec
      % x: the depth of falling in m  
      x = x0 + v0.*t + 1/2*9.8*t.*t;  
    

注意这里的.*可以在输入为矩阵时也可以操作

freebody(0, 0, 2)			% 得到 19.6000
freebody(0, 0, [0 1 2 3])	% 得到 [0 4.9000 19.6000 44.1000]  
freebody(0, 0, [0 1; 2 3])	% 得到 [0 4.9000; 19.6000 44.1000]

练习

function FtoC()
%知道华氏温度算摄氏温度
%C=(F-32).*5./9

while 1
   F=input('Temperature in F:');
   if isempty(F)
       break;
   end
   C=(F-32).*5./9;
   final=['Temperature in C:',num2str(C)];
   disp(final);
end

我们也可以使用函数句柄的形式定义函数,这更接近数学上的函数定义,其语法如下:

函数句柄 = @(输入变量) 输出变量
可以直接通过函数句柄调用该方法.

f = @(x) exp(-2*x);  
x = 0:0.1:2;  
plot(x, f(x));

标签:lecture2,disp,教程,end,clear,ii,matlab,jj,annPoints
From: https://www.cnblogs.com/octopuszzy/p/18056937

相关文章

  • 保姆级Anaconda安装教程
    相信大家学习机器学习人工智能的时候都会需要用到Anaconda这个软件Anaconda是一个开源的Python发行版本,它包含了Conda、Python以及超过180个科学包及其依赖项。Anaconda特别适合于数据分析和科学计算,它不仅提供了Python和相关的配套工具,还集成了许多常用的科学计算包,如numpy......
  • 技术干货 | 英码嵌入式IVP92x开发主板上电启动及各模块测试详细教程(附工具)
    IVP92x是一款基于英码嵌入式低照度全彩视频处理模组SOM928设计的开发主板,IVP92x主板具备多路智能视觉分析(目标识别/运动跟踪/周界防范等)能力,支持[email protected]/H.264多码流编解码,同时支持智能降噪、全景拼接以及双目深度处理;除此之外,还设计了丰富的外围接口,满足无人机、智能摄......
  • BurpSuite使用教程
    BurpSuite使用教程BurpSuite是基于java环境运行,所以要安装java环境启动BurpSuite方式第一种:双击BurpSuite.jar,点击run进行进入第二种:命令启动或者创建一个.bat文件(批处理文件),写入命令,双击启动(该命令与第一种run旁边的命令一致)java-noverify-javaagent:burploader.jar-jar......
  • [转帖]linux-windows文件实时同步:Rsync使用教程
    http://luomuren.top/articles/2021/04/06/1617641017252.html#:~:text=linux-windows%E6%96%87%E4%BB%B6%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5%EF%BC%9ARsync%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B%201%20%E4%B8%80%20%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AFrync%20%EF%BC%9F......
  • 【教程】无法验证app需要互联网连接以验证是否信任开发者
    摘要本文将探讨在使用苹果App时遇到无法验证开发者的情况,以及用户可以采取的解决方案。通过检查网络连接、重新操作、验证描述文件等方式来解决无法验证开发者的问题。同时,还介绍了开发者信任设置的步骤,以及使用appuploader工具进行安装测试的方法。引言在使用苹果App时,有时会......
  • c++中nlohmann json的基本使用教程
    摘自:https://www.jb51.net/article/261677.htm 一.json.hpp库下载及安装1.1开源地址及引入方法nlohmannjson的开源项目地址,其中有对json使用方法的详细说明:https://github.com/nlohmann/json#serialization–deserialization对于我们项目中要使用nlohmannjson工具,只......
  • java.util.Arrays 快速学习教程
    在Java中,java.util.Arrays类提供的多种数组操作功能,可以有效地执行各种数组相关的操作,使得数组处理变得简单和高效。打印数组String[]arr=newString[]{"a","b","c","d"};System.out.println(Arrays.toString(arr));//输出[a,b,c,d]Arrays.toString(arr),不过......
  • MATLAB数据挖掘用改进的K-Means(K-均值)聚类算法分析高校学生的期末考试成绩数据
    全文链接:http://tecdat.cn/?p=30832原文出处:拓端数据部落公众号本文首先阐明了聚类算法的基本概念,介绍了几种比较典型的聚类算法,然后重点阐述了K-均值算法的基本思想,对K-均值算法的优缺点做了分析,回顾了对K-均值改进方法的文献,最后在Matlab中应用了改进的K-均值算法对数据进行了......
  • 外国教育史教程(第3版)
    书本详情外国教育史教程(第3版)作者:吴式颖/李明德出版社:人民教育出版社出版年:2015-6页数:589定价:49.00元装帧:平装ISBN:9787107298103内容简介  · · · · · ·《外国教育史教程(第3版)》全面呈现了外国教育史的最新研究成果和高校教育史学科教学的......
  • 外国教育史教程
    书本详情外国教育史教程作者:吴式颖出版社:人民教育出版社出版年:2001-5-1页数:788定价:34.20元装帧:平装ISBN:9787107129575内容简介  · · · · · ·《普通高等教育九五国家级重点教材•外国教育史教程》分为古代教育史、近代教育史和现代教育史三编......