Day 2 条件与循环
昨天看matlab的编程语言就觉得与python有许多相似之处,今天来好好看看。
3-6 循环控制语句之一 for/end
解释定义如下
果然和python很象哈哈,这不就是切片嘛,
在之后加上end 需要注意,从昨天的例子来看,matlab中的end并没有中断程序的作用,只是结束一个循环体或者判断体。
Pascal矩阵是啥玩意儿???
学了高代都搞不懂欸,怎么这么多奇怪的函数???
代码如下:
>> A=pascal(8)
A =
1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8
1 3 6 10 15 21 28 36
1 4 10 20 35 56 84 120
1 5 15 35 70 126 210 330
1 6 21 56 126 252 462 792
1 7 28 84 210 462 924 1716
1 8 36 120 330 792 1716 3432
>> s=0;
>> for i = 1:8
s=s+sum(A(i,:));
end ,s
s =
12869
>>
说实话,matlab的一些语法感觉很不严谨,为了方便吗?
小结:初始化感觉还是很奇怪,为什么可以随便打一个“s”?我都傻了
看来是在用消去法(废话)
>> for i=1:4
for j=i+1:5
A(i,:)=A(i,:)-A(i,j)/A(j,j)*A(j,:);
end
end,A
A =
-72.5368 30.8923 23.0137 1.1863 0
14.7949 -7.4615 -13.1795 -0.8205 0
-28.9206 -43.7143 -58.2698 -4.2540 0
6.3333 6.0000 10.6667 20.3333 0
11.0000 18.0000 25.0000 2.0000 9.0000
啥玩意儿??
看来得去看看matlab里的矩阵是怎么操作的了。
3-7 循环控制语句之二 while/end
没啥说的,习惯一下语法就好
例题,
啥叫迭代法???
matlab难的不是知识点,而是这些海量的计算方法啊啊啊
同上方法
什么鬼啊?
3-8 条件:if/end
由if语句中逻辑表达式的值来决定是否执行它下面一组程序语句。若逻辑表达式的值为真,则执行end后边的程序;若逻辑表达式的值为假,则跳过if和end之间的程序,继续执行end以后的语句。语法格式如下:
if 逻辑表达式
程序语句
end
嗯。。。这不就是python的语法嘛。。。
3-9 条件:多分支if/elseif/…/elseif
语法格式如下:
if 逻辑表达式1
程序语句1
elseif 逻辑表达式2
程序语句2
elseif 逻辑表达式3
程序语句3
else
程序语句n
end
基本都是python的语法,重点关注的应该是这些算法的运用,以及一些方便的写法。