我用MATLAB计算Ising模型,结果生成了这样子的一个矩阵。1表示自旋向上,-1表示自旋向下。我想根据矩阵用Matlab画一个点阵,实心点表示自旋向上,空心点表示自旋向下,请问我要怎么画?调用什么函数? 返回小木虫查看更多
你可以编程,首先测试矩阵的宽度和长度,然后用两个循环,一个以宽度为变量,一个以长度为变量,然后依次画出每个点,画的时候通过if语句进行判断,画完一个点后,用hold on保留在一张图上,然后就得到你要的图了。
我不建议用循环,matlab的优势是用向量化避免循环来加快处理速度,如果双重循环,那与其他语言(c/c++,java等)无异 matlab的测试代码如下,你只需要将test换成你的结果数据即可 最后的散点图用了2种方法,注释掉了第一种一次作图的方式
写的很好,受教了!
你可以编程,首先测试矩阵的宽度和长度,然后用两个循环,一个以宽度为变量,一个以长度为变量,然后依次画出每个点,画的时候通过if语句进行判断,画完一个点后,用hold on保留在一张图上,然后就得到你要的图了。
我不建议用循环,matlab的优势是用向量化避免循环来加快处理速度,如果双重循环,那与其他语言(c/c++,java等)无异
matlab的测试代码如下,你只需要将test换成你的结果数据即可
最后的散点图用了2种方法,注释掉了第一种一次作图的方式
效果图:
,
写的很好,受教了!