1. matlab 如何使用循环语句
原发布者:jinziyatoo
循环结构1.for语句for语句的格式为:for循环变量=表达式1:表达式2:表达式3循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。for语句更一般的格式为:for循环变量=矩阵表达式循环体语句end执行过程是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。2.while语句while语句的一般格式为:while(条件)循环体语句end其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。3.break语句和continue语句与循环结构相关的语句还有break语句和continue语句。它们一般与if语句配合使用。break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。求[100,200]之间第一个能被21整除的整数forn=100:200ifrem(n,21)~=0continueendbreakendn4.循环的嵌套如果一个循环结构的循环体又包括一个循环结构,就称为循环的嵌套,或称为多重循环结构。例3-13若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。form=1:500s=0;fork=1:m/2ifr
2. 怎样用MATLAB编一个循环语句
clear;clc;clf;
t=0:pi/20:2*pi;
R=10;r=2;
x=R*cos(t);
y=R*sin(t);
m=0;
kk=2*pi/6;
for k=0:kk:2*pi-kk
xi(m+1)=R*cos(k);
yi(m+1)=R*sin(k);
xx(:,m+1)=xi(m+1)+r*cos(t);
yy(:,m+1)=yi(m+1)+r*sin(t);
hold on
line([0 xi(m+1)],[0 yi(m+1)])
m=m+1;
end
plot(x,y,'r',xx,yy)
axis equal
再重复,就编一个子程序,不断调用。
3. matlab编程问题,循环语句怎么加
建议把主程序修改如下:
r=0.0425;
%T: Time to expiration
T=2;%输入年数
%DP:Defaut point
%SD: short debt, LD: long debt
in = xlsread('数据-修改后.xls','b2:e118');
n = size(in,1);
out = cell(n+1,5);
out(1,:) = {'', 'Va', 'AssetTheta', 'DD', 'EDF'};
for ii=1:n
SD=in(ii,1);%输入
LD=in(ii,2);%输入
%计算违约点
%DP=SD+0.5*LD;
DP=SD+0.5*LD;
%D:Debt maket value
D=DP;%债务的市场价值,可以修改
%theta: volatility
%PriceTheta: volatility of stockprice
PriceTheta=in(ii,3);%(输入)
%EquityTheta: volatility of Theta value
EquityTheta=PriceTheta;
%AssetTheta: volatility of asset
%E:Equit maket value
E=in(ii,4);%(输入)
%Va: Value of asset
%to compute the Va and AssetTheta
[Va,AssetTheta]=KMVOptSearch(E,D,r,T,EquityTheta)
%计算违约距离
DD=(Va-DP)/(Va*AssetTheta);
%计算违约率
EDF=normcdf(-DD);
out(ii+1,:) = {ii, Va, AssetTheta, DD, EDF};
end
xlswrite('Out.xls',out);
说明:
1、我的系统里直接读xlsx文件有点问题,原因懒得查了,另存成xls文件操作。
2、程序运行后生成Out.xls文件,题主可以根据自己的需要进行修改。
4. matlab里多个for循环的嵌套循环语句怎么写
不知道参数具体数值无法运行,这里给你指出编程错误。
1
2
3
4
5
6
7
8
9
10
if s1>s2
for i=150:15:0;%应修改为i=150:-15:0
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
%这里你是否只需画一幅图?根据你的表达退出所有循环这里要加个break
end
end%最后仍缺个end
修改程序如下:
1
2
3
4
5
6
7
8
9
10
11
if s1>s2
for i=150:-15:0
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
break
end
end
end
5. matlab中如何写循环
disp('Please enter the value:\n');
j=1;
b=input('Enter the value of b:\n');
while b(j)~='|'
j=j+1;
b(j)=input('Enter the value of b:\n'); % 输入数据当输入‘|’时结束输入
end
n=length(b(1:end-1));
b=b(1:end-1);
a=zeros(n,1); %建立输出矩阵
%使用矩阵思维 小数据和c语言思维没什么差别但是大量数据时会有明显差别
k=find(b>=90);
a(k)=5;
k1=find((b>=80).*(b<90)); %注这是数组点乘 .*
a(k1)=4;
k2=find((b>=70).*(b<80));
a(k2)=3.5;
k3=find((b>=60).*(b<70));
a(k3)=3;
k4=find(b<60);
a(k4)=0;
disp(a)
% 下面用的是c语言的思维
% for i=1:n
% if (b(i)>=90) % 几个分级判断,可以根据你的具体规定修改
% a(i)=5;
% elseif (b(i)<90 && b(i)>=80)
% a(i)=4;
% elseif (b(i)<80 && b(i)>=70)
% a(i)=3.5;
% elseif (b(i)<70 && b(i)>=60)
% a(i)=3.0;
% else
% a(i)=0;
% end
% end
6. matlab中for循环怎么写
在classpath(例如web-inf\classes)中放一个log4j.properties就可以了。
例子如(这是是打在stdout中的):
log4j.rootLogger=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p - [%t] %c{2} - %m%n
转载请注明出处育才学习网 » matlab怎么写循环语句