特殊矩阵
1.幻方矩阵(魔方矩阵)
魔方矩阵又称幻方,是有相同的行数和列数,并在每行每列、对角线上的和都相等的矩阵。魔方矩阵中的每个元素不能相同。你能构造任何大小(除了2x2)的魔方矩阵。
它在MATLAB中的引用如图:
PS:今天看书刚看到的:ans是指最近运算结果
2.单位矩阵
在matlab中的语言是:
这个简单,不谈
3.对角矩阵
可以注意到:数组内的数字对应对角线元素
4.全0和全1矩阵
PS:有没有全2矩阵?我皮一下试试:
失败了,捞的一批。。。。
4.范德蒙矩阵
就是线性代数学的那些呗
它的定义是:(感谢度娘)
它的matlab语言是:
这咋回事啊,跟线性代数里学的方向不太一致啊,
转置一下,命令 V’,这个是共轭转置,看得还是不太舒服
.’是普通转置
它又转回来了,转正是不可能转正的,这辈子不可能转正的
5.希尔伯特矩阵
最出名的正交变换矩阵有没有
它的matlab命令
搜了一下,度娘还说它的病态特别高,就是变一个元素,其他的都要大变样
突然脑海出现郭德纲的相声,从小便认识,如今大便样,Hhahah。。。。
6.随机矩阵
具体不谈,随机嘛,在0到1乐啥啥
看matlab:
7:logical,逻辑函数(姑且叫它函数吧)
本来就要到此结束了,直到书上写了一个词logical
这是个啥啊,直接help - logical
A是个啥啊,就是下面说的
但是,复数不可以logical
来个小例子,给范德蒙取个模3
各位大佬看懂了吧,logical本身的功能就是,0是0,不是0就都变成1
数值类型转换
就拿C++说一下,重在理解
今天做测试,出了bug,先看一下
先说一下两个变量类型
short和unsigned short
他俩的取值范围一个是 -32768~~32767,一个是0~~65535
#include"pch.h"
#include <iostream>
int main()
{
using namespace std;
short sam = SHRT_MAX; // sam取值为short类型最大值
unsigned short sue = sam;
cout << "sam is " << sam << endl << "sue is " << sue << endl;
sam = sam + 1;
sue = sue + 1;
cout << "sam+1 is " << sam << endl << "sue+1 is " << sue << endl;
unsigned short sue_1 = 0;
short sam_1 = sue;
cout << "sam_1 is " << sam_1 << endl << "sue_1 is " << sue_1 << endl;
sam_1 = sam_1 - 1;
sue_1 = sue_1 - 1;
cout << "sam_1 - 1 is " << sam_1 << endl << "sue_1 -1 is " << sue_1 << endl;
}
看得出来short 类型sam最大值加1,由于超出了限制,变为另一端的取值,而sue没事,这叫做上溢出
同理就是下溢出
溢出的发现并不容易,但是一旦溢出,传递后,它和原来值得二进制表示就会变,如果是指针的指向地址的话,地址就会失效。
行啦今天就到这里了
感谢观看
如果对您有丝毫的帮助,我将感到非常高兴
对于特殊矩阵部分,感谢https://blog.csdn.net/iteye_8264/article/details/82542774大佬的文章,没有他我还真不知道有这么多特殊矩阵