24小时热门版块排行榜    

查看: 8809  |  回复: 1

dongbeidushi

新虫 (初入文坛)

[求助] 求懂MATLAB的高手相助,如何在MATLAB中画光谱曲线。 已有1人参与

像这类的光谱图如何在matlab中画出来啊

求懂MATLAB的高手相助,如何在MATLAB中画光谱曲线。
[]7G8A_WA(BG1HE9RMBP%%1.png


求懂MATLAB的高手相助,如何在MATLAB中画光谱曲线。-1
R}6V)UHZ5GF(7RC3S)U{HPB.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
dongbeidushi: 金币+10 2014-12-31 09:04:43
CODE:
function spectrum_plot
[lambda, D65] = illuminant('d65');
figure;
id=lambda>=360;
lambda=lambda(id);
D65= D65(id);
plot(lambda, D65)
hold on
for i=1:(numel(lambda)-1)
    X=[lambda(i) lambda(i) lambda(i+1) lambda(i+1) lambda(i)];
    Y=[0 D65(i) D65(i+1) 0 0];
    RGB=Wavelength2RGB(lambda(i));
    fill(X',Y',[RGB(1)/255 RGB(2)/255 RGB(3)/255],'EdgeColor',[RGB(1)/255 RGB(2)/255 RGB(3)/255])
end
title('D_{65} illuminant')

求懂MATLAB的高手相助,如何在MATLAB中画光谱曲线。-2
untitled.jpg
CODE:
function RGB=Wavelength2RGB(Wavelength)
Gamma = 0.8;
IntensityMax = 255;

if Wavelength >= 380 & Wavelength <= 439
    Red = -(Wavelength - 440) / (440 - 350);
    Green = 0.0;
    Blue = 1.0;
elseif Wavelength >= 440 & Wavelength <= 489
    Red = 0.0;
    Green = (Wavelength - 440) / (490 - 440);
    Blue = 1.0;
elseif Wavelength >= 490 & Wavelength <= 509
    Red = 0.0;
    Green = 1.0;
    Blue = -(Wavelength - 510) / (510 - 490);
elseif Wavelength >= 510 & Wavelength <= 579
    Red = (Wavelength - 510) / (580 - 510);
    Green = 1.0;
    Blue = 0.0;
elseif Wavelength >= 580 & Wavelength <= 644
    Red = 1.0;
    Green = -(Wavelength - 645) / (645 - 580);
    Blue = 0.0;
elseif Wavelength >= 645 & Wavelength <= 780
    Red = 1.0;
    Green = 0.0;
    Blue = 0.0;
else
    Red = 0.0;
    Green = 0.0;
    Blue = 0.0;
end
  
if Wavelength >= 350 & Wavelength <= 419
    factor = 0.3 + 0.7*(Wavelength - 380)/(420 - 380);
elseif Wavelength >= 420 & Wavelength <= 700
    factor = 1.0;
elseif Wavelength >= 701 & Wavelength <= 780
    factor = 0.3 + 0.7*(780 - Wavelength)/(780 - 700);
else
    factor = 0.0;
end
r=255*(Red*factor)^Gamma;
g=255*(Green*factor)^Gamma;
b=255*(Blue*factor)^Gamma;

R=r;
G=g;
B=b;
RGB=[R G B];

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2014-12-29 18:49:20
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dongbeidushi 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 311求调剂 +6 冬十三 2026-03-15 6/300 2026-03-16 08:00 by wang_dand
[考研] 化学调剂0703 +7 啊我我的 2026-03-11 7/350 2026-03-15 23:03 by 凌千颂111
[考研] 材料工程专硕274一志愿211求调剂 +5 薛云鹏 2026-03-15 5/250 2026-03-15 20:38 by Logic2024
[考博] 欢迎申博同学联系 +3 天道酬勤2026686 2026-03-10 7/350 2026-03-15 19:03 by 天道酬勤2026686
[考研] 288求调剂 +4 奇点0314 2026-03-14 4/200 2026-03-14 23:04 by JourneyLucky
[考研] 材料工程327求调剂 +3 xiaohe12w 2026-03-11 3/150 2026-03-14 20:20 by ms629
[基金申请] 面上和青基一样限30页不合理 +5 wowsunflower 2026-03-10 7/350 2026-03-14 17:21 by kingkocxr
[考研] 211本,11408一志愿中科院277分,曾在中科院自动化所实习 +3 Losir 2026-03-12 3/150 2026-03-14 12:11 by 热情沙漠
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[考研] 求调剂 +6 yfihxh 2026-03-09 6/300 2026-03-14 01:18 by JourneyLucky
[考研] 0703求调剂 +7 jtyq001 2026-03-10 7/350 2026-03-14 01:06 by JourneyLucky
[考研] 一志愿安徽大学材料工程专硕313分,求调剂的学校 +8 Yu先生 2026-03-10 10/500 2026-03-14 01:04 by JourneyLucky
[考研] 0805,333求调剂 +3 112253525 2026-03-10 3/150 2026-03-13 23:42 by JourneyLucky
[考研] 0703化学调剂 +4 快乐的香蕉 2026-03-11 4/200 2026-03-13 22:41 by JourneyLucky
[考研] 求材料调剂 +5 隔壁陈先生 2026-03-12 5/250 2026-03-13 22:03 by 星空星月
[考研] 0856材料与化工301求调剂 +5 奕束光 2026-03-13 5/250 2026-03-13 22:00 by 星空星月
[考研] 求调剂 +7 18880831720 2026-03-11 7/350 2026-03-13 16:10 by JourneyLucky
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 341求调剂 +4 捣蛋猪猪 2026-03-11 4/200 2026-03-12 14:47 by ruiyingmiao
[考研] 085600 材料与化工 295 求调剂 +10 dream…… 2026-03-10 12/600 2026-03-12 13:46 by dream……
信息提示
请填处理意见