matlab建模DNA双链,matlab绘制DNA双螺旋结构模型三维图 请高手给详细步骤。 分重要,关键是我能学会。(可以加分)...
匿名用戶
1級
2012-02-14 回答
步驟:
1. 從參考資料鏈接里下載DNA.pdb文件;
2. 把以下代碼保存為drawDNA.m,并與DNA.pdf一起放到Matlab當前工作目錄下;
3. 執行m文件,能得到附件所示的DNA雙螺旋結構模型三維圖。
=================================================================
function drawDNA(flag)
persistent lst; % the list box
if(nargin == 0)
files = dir('*.pdb');
if(isempty(files))
error('%s\n%s\n%s\n%s','There are no .pdb files in the current directory.',...
'drawpdb.m requires some files to view.',...
'Please download pdb file first:');
end
figure('Color','black')
set(gca,'Position',[0 0 0.8 1],'visible','off','DataAspectRatio',[1 1 1])
cameratoolbar;
lst = uicontrol('Units','normalized', ...
'Position',[.8, .05,.19,.9],...
'String',{files.name},'Style','listbox','Callback','drawpdb(1)');
drawpdb(1)
else
cla
light;
light('Position',[-1 -1 -2]);
[x,y,z] = sphere(40);
nm = get(lst,'String');
fid = fopen(nm{get(lst,'Value')},'r');
line = fgetl(fid);
while ischar(line)
if(strncmp('HETATM',line,6) || strncmp('ATOM',line,4))
switch(line(14))
case 'H', color = [0.7 0.7 0.7]; r = 0.6;
case 'C', color = [0.3 0.3 1.0]; r = 1.0;
case 'O', color = [0.3 1.0 0.3]; r = 1.0;
case 'N', color = [1.0 0.3 1.0]; r = 0.8;
otherwise, color = [1.0 0.0 0.0]; r = 1.0;
end
c = sscanf(line(31:54),'%f %f %f');
surface('XData',c(1) + r*x,'YData',c(2) + r*y,...
'ZData',c(3) + r*z,'FaceColor',color,...
'EdgeColor','none','FaceLighting','gouraud')
end
line = fgetl(fid);
end
fclose(fid);
end
=================================================================
[ 注: M文件的作者是Joe Hicklin,September 2001]
追問:
哥們,這個我在網上都看到過的,行不通。請你自己弄成功一次再來。
總結
以上是生活随笔為你收集整理的matlab建模DNA双链,matlab绘制DNA双螺旋结构模型三维图 请高手给详细步骤。 分重要,关键是我能学会。(可以加分)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PPT设计灵感
- 下一篇: 五种常见的计算机高级语言,[转]计算机语