24小时热门版块排行榜    

查看: 6527  |  回复: 3

刘行思

新虫 (初入文坛)

[求助] 如何用Matlab画矩阵的散点图?

我用MATLAB计算Ising模型,结果生成了这样子的一个矩阵。1表示自旋向上,-1表示自旋向下。我想根据矩阵用Matlab画一个点阵,实心点表示自旋向上,空心点表示自旋向下,请问我要怎么画?调用什么函数?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

729267452lgl

至尊木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
刘行思: 金币+1, 有帮助, 谢谢 2012-07-15 13:44:11
你可以编程,首先测试矩阵的宽度和长度,然后用两个循环,一个以宽度为变量,一个以长度为变量,然后依次画出每个点,画的时候通过if语句进行判断,画完一个点后,用hold on保留在一张图上,然后就得到你要的图了。
2楼2012-07-15 09:25:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

我不建议用循环,matlab的优势是用向量化避免循环来加快处理速度,如果双重循环,那与其他语言(c/c++,java等)无异

matlab的测试代码如下,你只需要将test换成你的结果数据即可
最后的散点图用了2种方法,注释掉了第一种一次作图的方式
CODE:
% 生成全为1的数据, 50*50
test = ones(50,50);

% 生成-1的下标,原矩阵元素的1/3
rand_minus_one = randi(numel(test),1,ceil(numel(test)/3));

% 生成测试数据,±1都有
test(rand_minus_one) = -1;

% 测试数据矩阵大小
[m,n] = size(test);

% 得到+1的下标
[row1,col1] = ind2sub([m,n],find(test==1));

% 得到-1的下标
[row2,col2] = ind2sub([m,n],find(test==-1));

% 一次作散点图
% figure, plot(col1,row1,'rs',col2,row2,'bo');

% hold住后分2次做散点图
figure,hold on;
scatter(col1,row1,'filled'); scatter(col2,row2);

效果图:
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2012-07-15 18:38:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

freemanxu

金虫 (初入文坛)

写的很好,受教了!
4楼2012-07-17 00:17:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 刘行思 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 只有每年这种时候来逛逛小木虫 +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[基金申请] 我面上完蛋了 +11 且听虎啸 2026-08-20 12/600 2026-08-25 07:53 by bugaboo
[基金申请] 明天应该可查了!? +5 chengyan1220 2026-08-23 5/250 2026-08-24 23:28 by 我4大白菜
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +7 scalable 2026-08-24 7/350 2026-08-24 23:01 by anata1209
[基金申请] 没有任何消息-是不是就凉了 +7 图啦图啦 2026-08-24 8/400 2026-08-24 22:00 by maomao_da
[基金申请] 人气不行了 +10 fansofjerry 2026-08-21 10/500 2026-08-24 21:03 by zhanghaozhu
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 范进中举一文的中心思想 +6 炎黄贵胄 2026-08-22 7/350 2026-08-24 11:58 by 6543yes
[基金申请] 朋友圈看到的 +7 wangzilk 2026-08-18 9/450 2026-08-24 10:50 by cmrandy
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见