MATLAB常用语句总结7

MATLAB总结7:常见错误归纳

本篇专门用于记录一些应试技巧



前言

记忆力比较差,把学习过程中常用的语法记录于此,方便回忆时索引


一、一些小定义和小技巧

  1. rand的使用

rand 是用于生成在(0,1)上随机数的函数,而后面加入 rand(1,2),则意为一个一行两列的(0,1)矩阵,不可乱加。需要使用不同范围的随机数则使用 A*rand() 即可

    x=5*rand();
    y=5*rand();
  1. 符号
取余:mod(A,b)%A是要进行取余的数字,b是除数
不等于:~=
  1. find()的使用
    用r=find(A<=0.6),直接找到A中小于0.6的下标

  2. 分段函数的使用

y=(x<=8).* (2*x)+(x>8&&x<12).*(3*x)+(x>12).* (4*x);
  1. upper, lower的大小写转换
for i=1:length(v)
    if v(i)=='a'
        r(i)=upper(r(i));
    elseif v(i)=='h'
        r(i)='2';
    elseif v(i)=='v'
        r(i)='3';
    end
end

二、蒙塔卡罗求解方法

在这里插入图片描述

1.函数的定义

代码如下(示例):

function c=myobj(x)
c=10*x(1)^3+x(3)*(x(1)^2+x(2)^2);
function r=mycon(x)
r=[x(1)^2+x(2)^2-x(3)-10 ; x(1)^2+x(2)^2+x(3)-3];
function m=myrand
while 1
    m=[10*rand-5 ;10*rand-5 ;10*rand-5 ];
    if mycon(m)<=0
        return 
    end
end

2.函数引用

代码如下(示例):

function [val,x]=myfun2
rand('seed',11);

betterx=myrand;
betterval=myobj(betterx);

for i=1:10000
    betterx=myrand;
    if myobj(betterx)>betterval;
        betterval=myobj(betterx);
    end
end
x=double(betterx);
val=double(betterval);

3.代码量较少的蒙塔卡罗

function [val,x]=myfun2
rand('seed',11);
val=0;
for i=1:100000
    s=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值