今天的收获:MATLAB的一些特殊矩阵以及图像类型转换和数值溢出问题

3 篇文章 0 订阅
3 篇文章 0 订阅

特殊矩阵

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大佬的文章,没有他我还真不知道有这么多特殊矩阵

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值