第十单元 第3课 实验 2017年全国大学生 数学建模竞赛A题

Slides:



Advertisements
Similar presentations
達悟族報告 作者 : 林琪崴, 許原碩 座號 :13 號,14 號 原碩負責 : 簡介, 傳說, 圖驣, 達悟族飛魚季, 琪崴 : 地理位置, 土地利用方式, 飲食文化, 豐收祭.
Advertisements

主讲:张天明 影像艺术工程师. 声音的聆听 指出听到的是什么物体发出的声音,这一 声音是在什么样的空间环境中传播的。 一、 答案: 1 、打气筒打气的声音 2 、手打打气筒给足球打气的声音 3 、手打打气筒给自行车轮胎打气的声音 4 、七次(七声)打气筒打气的声音 5 、(气流)摩擦的声音 6 、猪在发急时的叫声.
概念導向命題技巧與試題分析 臺灣師大地理系 陳國川. 教學評量是一種『抽樣調查』 實施教學評量時,需具備二項條件: 其一,瞭解命題的理論及其實踐的方法; 其二,瞭解各種題型的功能與命題方式。 壹、前言.
高峰植物園行前解說 2005/12/07 By 羽明. 陽性先驅物種 陽性植物 --- 陽光需求量大 陰性 ( 或耐蔭性 ) 植物 --- 陽光需求量少, 或 日照太強反而無法生存 先驅植物 --- 森林大火或土石流地震後產生的 裸露空地, 先生長出來的植物.
第二十九章 医学原虫 一、教学目的 熟悉:溶组织内阿米巴、阴道毛滴虫的生活史、致病 性、实验诊断与防治原则;间日疟原虫的生活史。 应用:疟疾的发作、复发、再燃及凶险型疟疾的发生 机制和临床表现;疟原虫的实验诊断与防治原则。 了解 : 溶组织内阿米巴、阴道毛滴虫、间日疟原虫的 红內期形态。 二、教学方法.
報 告 人 : 胡 嘉 琪 ˙ˇ˙ 、 王 紫 庭 = ˇ = 台灣夜市文化 作者: 郭明澤‧私立明道高中‧綜二 4 班 馬炯修‧私立明道高中‧綜二 4 班.
5 ˙ 1 第五章 生物的協調作用 5 ‧ 1 神經系統. 5 ˙ 1 人體的神經系統 1. 協調動物生理反應的系統: 神經 系統、 內分 泌 系統。 2. 神經系統負責 統整 和 協調 。分為 中樞 神經 和 周圍 神經。 (1) 中樞神經包括 腦 和 脊髓 。 (2) 周圍 神經包括 腦神經 和.
雅安市教师资格定期注册 政策解读 雅安市教育局政策法规科. 一、执行文件: 一、执行文件: 1 、《四川省教育厅关于印发《四川省中小学教师资格定期 注册试点实施细则(试行)》的通知》(川教 [2014]60 号); 1 、《四川省教育厅关于印发《四川省中小学教师资格定期 注册试点实施细则(试行)》的通知》(川教.
从《西游》看大学生的成长 主讲人:颜廷学 时间: 地点:演艺大楼流行剧场.
群体性心因性反应 英德市疾病预防控制中心 孙蕊蕊 2010 年 11 月. 一、何谓群体性心因性反应  群体性心因性反应:又称群发性癔症,是一 种精神或心理因素引起的的一种在临床上只 有精神或神经系统症状为主,而没有任何可 以检出的器质性病变。意识不丧失,易受心 理暗示影响,使病情加重或减轻。
新员工培训 设计部 思安新能源股份有限公司 主讲人: 韩少华 时 间:
第四节 关 格 第四节 关 格 医科大学附属中医医院外科教研室 高昌杰 病 名 关格首载于《内经》,或指脉象或言 病机。《伤寒论》将小便不通和吐逆 为主症者称为关格。巢元方等则以大 小便俱不通为关格。至南宋时期,张 锐综合仲景与巢氏之说,提出关格病 上有吐逆,下有大小便不通。近代对 本病的认识逐渐统一于仲景,故本书.
一、就业系统 登陆地址: 账号及密码 - 账号: 密码: - 验证码与网页上相同, 不区分大小写。 – 具体如图:
國文報告 組長 : 王俐婷 組員 : 陳威宇、 林恩楷、陳 平 、 歐昱 侖、李浩維 、張凱威、黃鵬展.
医科大学附属中医医院内科教研室. 一、腰痛定义 二、腰痛历史沿革 三、腰痛病因病机 四、腰痛范围 五、腰痛诊断 六、辨证要点 七、治疗原则 八、分型论治 九、其他疗法 十、复习思考题 十一、临床病案.
肺癌. 概述 w 定义  肺癌或称支气管肺癌,是由于正气内虚, 邪毒外侵,痰浊内聚,气滞血瘀, 阻结于 肺,肺失肃降所致,以咳嗽、咯血、胸 痛发热、气急为主要临床表现的肺部恶 性肿瘤。
医疗事故处理法律制度 ——概 述 张华.
第八次全國科學技術會議 第一議題:結合人文科技,提升生活品質
垃圾污染 六年己班 組員: 林哲毅. 許雲泰.
人事室工作報告 一、104學年度下學期教師異動情形: 1.新進代理教師:吳俊霖 。
泌尿外科疾病病人的护理 泸医附院外科 杨昌美.
职业教育.课程改革.项目课程 江苏省太仓中等专业学校校长 江苏省职业教育教学改革创新指导委员会委员 江苏省职业教育课程开发研究中心组组长
岳飞( 1103——1142) 字鹏举,汉族人,是南宋著名抗金将领,相州汤阴(今河南汤阴)人。二十岁从军,因军功屡迁,后被秦桧以“莫须有”罪名污陷而杀害,时年39岁,谥“武穆”,后改谥“忠武”,有《岳武穆集》传世。《全宋词》存词三首 (《满江红·怒发冲冠》、《满江红·登黄鹤楼有感》、《小重山》)。
医疗纠纷的 防范和处理 医务部 林星方.
骨与关节感染病人的护理 护理系外科教研室 岑晓勇.
國中適性輔導宣導 生涯導航 談國中學生適性輔導 石牌國中 輔導室葉嘉惠.
第四讲:创新思维方式 一、创新思维的方法 二、禁锢创新的心理状态及其排除方法 主讲:黄伟雄教授.
中学生普法教育.
绪论课: 物理学和人类文明.
便秘的诊断及治疗原则.
腰痛的针灸治疗 渤海镇卫生院 金永坤.
第十章 诉讼时效、除斥期间与期限.
焦作32中 108班 杨梦洁 、杨梦涛、赵 璐、赵鑫、赵恒 2009年8月2日
肺部大叶性肺炎 平山县人民医院影像科 康军.
學生:3A黃寶珠(35),楊偉漢(39) 教師:黃瑞勤老師
痴呆 龙华医院 顾耘.
“东方瑞士” ——青岛.
采编班的“三朵奇葩”? 精品团会主题.
经行头痛 中医妇科学教研室.
医疗纠纷原因分析和防范 医务科 张海良.
第20课 迷人的动画片 威海市 高新区 初村小学 执教人:吴磊. 第20课 迷人的动画片 威海市 高新区 初村小学 执教人:吴磊.
让微笑伴您一生.
铜仁职业技术学院 第二十三讲 腹部损伤 铜仁职院医学院 杜开南.
口才与思辨并重 专业与职业共扬 -----法学院 “口才训练营” 精品活动介绍.
急腹症相关CT解剖 天铁医院放射中心 王献忠.
哈尔滨市卫生统计 工作会议 哈尔滨市卫生局统计信息中心 2012年12月.
客户需求书暨邀请罗老函 “中国亮点”首先是一家“外脑投资”公司 投的是“思想资产”—— 《新利益管理学》 二0一六年三月十五日.
关于对新型农村合作医疗制度实行现状的调查
农村地区常见非法行医 的调查处理 医疗卫生机构监管二处·陈罡
旅游服务与管理专业 旅游服务与管理专业 旅游服务与管理专业 旅游服务与管理专业 旅游服务与管理专业
5B專題研習第六組 主題:積極人生·拒絕誘惑 吸毒的禍害
“落地”问题的探讨 计算思维能力培养 西安交通大学 2012 年全国高等院校计算机基础教育研究会学术年会 冯博琴 ”
消化系统测试病例 昆明医学院第一附属医院医学影像专业.
第一章 臺灣的史前文化與原民 第一節 考古工作與史前遺址
東亞運動會 Be the legend 創造傳奇一刻.
組別:第五組 小組成員:賴瑋、蔡宜瑾、曾子珊、陳玟羽 報告人:曾子珊
急腹症相关CT解剖 天铁医院放射中心 王献忠.
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
§ 9.1常用数学软件简介及MATLAB基础知识
1.函数 2.程序 3.图形 目的:掌握Matlab作平面曲线图的方法与技巧
97學年度 導師輔導知能研習營成果.
第三单元 第3课 实验 多元函数的积分 实验目的:掌握matlab计算二重积分与三重积分的方法,提高应用重积分解决有关应用问题的能力。
101年度經費結報說明 會計室 黃玉露.
第6章 反比例函数 第二节 反比例函数的图象和性质(一).
第十单元 第4课 实验 2017年全国大学生 数学建模竞赛A题
直线和圆的位置关系 ·.
僅首頁出現本title即可 責任的故事(二年級) 生命最美麗動人的本能 簡報製作:瑞柑國民小學 鄭雙慧 文/ 何秀芳.
台北縣的歷史發展.
第三章 图形的平移与旋转.
萬能科技大學 106-1導師會議 研發處 吳復強
Presentation transcript:

第十单元 第3课 实验 2017年全国大学生 数学建模竞赛A题

问题一的代码: function[x0,y0,sepdist,start_angle,direction180,gain] = problem1(input_args) %模板:template template=xlsread('a题附件.xls','附件1'); figure;imshow(template,[]); title('模板'); %1.计算公切线的斜率 [b,fval]=fmincon(@(b)myopt(b),b0,[],[],[],[],40,43,@(b)nonlcon(b)); k1=(-90*b+sqrt(8100*b^2-8036*(b^2-16)))/4018 k2=(-90*b-sqrt(8100*b^2-8036*(b^2-16)))/4018; theta1=atan(k1)*180/pi; theta2=atan(k2)*180/pi; x1=real(((90-2*k1*b)+sqrt((90-2*k1*b)^2-4*(1+k1^2)*(2009+b^2)))/(2*(1+k1^2))); y1=k1*x1+b; x2=real(((90-2*k2*b)-sqrt((90-2*k2*b)^2-4*(1+k2^2)*(2009+b^2)))/(2*(1+k2^2))); y2=k2*x2+b;

%从上到下4条公切线的端点与斜率,截距 xykb=[[0,x1;b,y1;k1,b],[0,x2;b,y2;k2,b],[0,x2;-b,-y2;-k2,-b],[0,x1;-b,-y1;-k1,-b]]; %ct_radon为该CT系统对template_img进行radon变换之后的投影图 ct_radon=xlsread('a题附件.xls','附件2'); figure;imshow(ct_radon,[]); title('旋转中心有偏移的模板的CT图'); %画模板的CT图中各个投影方向的投影 figure; interval=zeros(512,180); for i=1:180   plot(ct_radon(:,i));   grid on;   hold on;   pos=find(ct_radon(:,i)~=0);   for j=1:length(pos)-1       interval(pos(j),i)=pos(j+1)-pos(j);   end  end

 xlabel('投影地址');  ylabel('投影值');  title('旋转中心有偏移的模板的CT图中各个方向的投影');  saveas(gcf,'有偏移的模板的CT图中各个方向的投影','jpg');  %2.计算公切线投影方向在ct_radon中对应的投影线号  k=0;  for i=1:180      ifsum(interval(:,i))==length(find(interval(:,i)~=0))          k=k+1;          cprojection(k)=i;      end  end  radioe=cprojection(end);  radios=cprojection(1);  figure;  plot([1:512],ct_radon(:,radios),'r',[1:512],ct_radon(:,radioe),'b');  grid on;

xlabel('投影地址');  ylabel('投影值');  legend('第1条内公切线方向的投影','第2条内公切线方向的投影');  title('旋转中心有偏移的模板的CT图中椭圆与圆的两条内公切线方向的投影');  saveas(gcf,'有偏移的模板的CT图中椭圆与圆的两条内公切线方向的投影','jpg');  %3.CT系统相邻投影方向的角度差  delta_angle=2*abs(theta2)/(radioe-radios);  %4.CT系统的起始投影方向角度  start_angle=theta2-(radios-1)*delta_angle;  %第1条投影线方向对应的投影检测器与水平方向的夹角  horizen_start_angle=90+start_angle;  %5.CT系统使用的X射线的180个投影方向

 direction180=start_angle:delta_angle:(start_angle+179*delta_angle);  for i=1:18     direction180paper(2*i-1,:)=(i-1)*10+1:i*10;    direction180paper(2*i,:)=direction180((i-1)*10+1:i*10);  end  xlswrite('CT系统使用的X射线的180个方向paper.xls',direction180paper);  %6.确定探测器单元间距sepdist  projnum=sum(interval(:,find(abs(direction180)<delta_angle)));  sepdist=80/projnum;  %探测器总长度  probe_length=(512-1)*sepdist;  xlswrite('CT系统的探测器单元间距与总长.xls',[sepdist,probe_length]);  %7.模板的理想CT图  theta=0:179;  N=512;

[template_radon,xp] = radon(template,theta,N);  figure,imshow(template_radon,[]);  title('旋转中心没有偏移的模板的CT图');  imwrite(uint8(template_radon),'没有偏移的模板的CT图.jpg','jpg');  xlswrite('没有偏移的模板的CT数据',template_radon);  figure;  plot([1:N],template_radon(:,1),'b',[1:N],template_radon(:,91),'r');  grid on;  xlabel('投影地址');  ylabel('投影值');  legend('无偏移0度投影曲线','无偏移的90度投影曲线');  title('旋转中心无偏移时0度与90度的投影曲线');  axis([0 512 0 max(max(template_radon))+10]) ;  saveas(gcf,'无偏移时0度与90度的投影曲线','jpg'); %8.CT系统旋转中心在正方形托盘中的位置(x0,y0)

template_radon90=template_radon(:,1); ct_col90=find(abs(direction180-90)<delta_angle/2); ct_radon90=flipud(ct_radon(:,ct_col90)); ct_col0=find(abs(direction180)<delta_angle); ct_radon0=ct_radon(:,ct_col0); figure; plot([1:N],template_radon0,'b',[1:N],ct_radon0,'r'); grid on; xlabel('投影地址'); ylabel('投影值'); legend(sprintf('无偏移的%d度水平方向投影',0),sprintf('有偏移的%d度水平方向投影',0)); title(sprintf('旋转中心有与无偏移的%d度水平方向投影',0)); saveas(gcf,'旋转中心有与无偏移的水平方向的投影','jpg'); plot([1:N],template_radon90,'b',[1:N],ct_radon90,'r');

xlabel('投影地址'); ylabel('投影值'); legend(sprintf('无偏移的%d度垂直方向投影',90),sprintf('有偏移的%d度垂直方向投影',90)); title(sprintf('旋转中心有与无偏移的%d度垂直方向的投影',90)); saveas(gcf,'旋转中心有与无偏移的垂直方向的投影','jpg'); wtemplate90=sum(template_radon90); wtemplatex=[1:N]*template_radon90; wct90=sum(ct_radon90); wctx=[1:N]*ct_radon90; x0=(wtemplatex/wtemplate90-wctx/wct90)*sepdist; wtemplate0=sum(template_radon0); wtemplatey=[1:N]*template_radon0; wct0=sum(ct_radon0); wcty=[1:N]*ct_radon0; y0=(wtemplatey/wtemplate0-wcty/wct0)*sepdist; p1=find(template_radon0~=0); p2=find(ct_radon0~=0);

y0=(p1(end)-p2(end)+p1(1)-p2(1))*sepdist/2; xlswrite('CT系统旋转中心在正方形托盘中的位置.xls',[x0,y0]); function fval=myopt(b)    k=(-90*b-sqrt(8100*b^2-8036*(b^2-16)))/4018;     fval=324*k^2*b^2-36*(64+9*k^2)*(b^2-1600); end                           function [c,ceq] =nonlcon(b)    delta1=324*k^2*b^2-36*(64+9*k^2)*(b^2-1600);     c=-delta1;     ceq = []; end functionF=myfun(gain,rxv,y)  F=sum((rxv-gain*y).^2);

问题二的代码: function[reconstruct_attach3_256,xy0,semiaxis,rotate_angle,ellipse_absorb6,attach4_absorb10]=problem2(input_args) %1.比较模板的拉东变换图与附件2中给出的拉东变换投影线的对应关系 template_radon0=template_radon(:,1); template_radon90=template_radon(:,91); attach2_radon_col180=find(abs(direction180-180)<delta_angle/2); attach2_radon180=attach2_radon(:,attach2_radon_col180); attach2_radon_col90=find(abs(direction180-90)<delta_angle/2); attach2_radon90=attach2_radon(:,attach2_radon_col90); %2.有无偏移CT投影配准 alpha=atan(-x0/y0)*180/pi; reconstruct_radon=zeros(size(attach2_radon)); figure; for i=1:180     theta=(i-1)*delta_angle;    attach2_radon_anglei=find(abs(direction180-theta)<delta_angle/2);

if isempty(attach2_radon_anglei)           attach2_radon_anglei=find(abs(direction180-180-theta)<delta_angle/2);     end     if theta<start_angle-delta_angle        reconstruct_radon(:,i)=flipud(attach2_radon(:,attach2_radon_anglei));     else        reconstruct_radon(:,i)=attach2_radon(:,attach2_radon_anglei);     if abs(theta)<delta_angle         d=abs(x0);     elseif  abs(theta-180)<delta_angle          d=y0;         k=tan(theta*pi/180+pi/2);         d=abs(-k*x0+y0)/sqrt(1+k^2);

address_num=round(d/sepdist);     if address_num>0           if theta<=alpha |  theta>180+alpha                reconstruct_radon(:,i)=[reconstruct_radon(address_num+1:end,i);zeros(address_num,1)];           else               reconstruct_radon(:,i)=[zeros(address_num,1);reconstruct_radon(1:end-address_num,i)];           end     end    plot([1:N],template_radon(:,i),'r',[1:N],reconstruct_radon(:,i),'b');     hold on; end  A=reshape(template_radon,512*180,1);  B=reshape(reconstruct_radon,512*180,1);  stdtr=std(A-B);  legend(sprintf('无偏移的投影'),sprintf('有偏移的投影'));

grid on;  xlabel('投影地址');  ylabel('投影值');  title(sprintf('重新配准之后的旋转中心无偏移与有偏移的模板的各个方向的投影'));  saveas(gcf,sprintf('配准后的旋转中心无偏移与有偏移的模板的各个方向的投影'),'jpg');  %3.根据投影配准之后的reconstruct_radon利用iradon反变换重构模板(附件2)原图像  reconstruct_template362=iradon(reconstruct_radon,theta180);  reconstruct_template256=imresize(reconstruct_template362,[256 256]);  figure;imshow(reconstruct_template256,[]);title('重构模板的256X256图像');  imwrite(reconstruct_template256,'重构模板的256X256图像.jpg','jpg');  xlswrite('重构模板的256X256图像数据.xls',reconstruct_template256);

reconstruct_radon=zeros(size(attach3_radon));  for i=1:180     theta=(i-1)*delta_angle;    attach3_radon_anglei=find(abs(direction180-theta)<delta_angle/2);     if isempty(attach3_radon_anglei)          attach3_radon_anglei=find(abs(direction180-180-theta)<delta_angle/2);     end     if theta<start_angle-delta_angle        reconstruct_radon(:,i)=flipud(attach3_radon(:,attach3_radon_anglei));     else        reconstruct_radon(:,i)=attach3_radon(:,attach3_radon_anglei);     if abs(theta)<delta_angle         d=abs(x0);     elseif  abs(theta-180)<delta_angle          d=y0;

  k=tan(theta*pi/180+pi/2);         d=abs(-k*x0+y0)/sqrt(1+k^2);     end     address_num=round(d/sepdist);     if address_num>0           if theta<=alpha |  theta>180+alpha                reconstruct_radon(:,i)=[reconstruct_radon(address_num+1:end,i);zeros(address_num,1)];           elsereconstruct_radon(:,i)=[zeros(address_num,1);reconstruct_radon(1:end-address_num,i)];           end  end  %4.根据投影配准之后的reconstruct_radon利用iradon反变换重构附件3原图像  reconstruct_attach3_362=iradon(reconstruct_radon,theta180);  reconstruct_attach3_256=imresize(reconstruct_attach3_362,[256 256]);  [row,col]=find(reconstruct_attach3_256<0);

for i=1:length(row)      reconstruct_attach3_256(row(i),col(i))=0;  end  figure;imshow(reconstruct_attach3_256,[]);title('重构附件3的256X256图像');  imwrite(reconstruct_attach3_256,'重构附件3的256X256图像.jpg','jpg');  xlswrite('problem2.xls',reconstruct_attach3_256); %5.根据重构的附件3的原图像,确定各个椭圆的位置和形状  attach3_256bw_edge=read_sixellipse_edge; [xy0,semiaxis,rotate_angle,pixelrc0]=compute_sixellipse_parameters(attach3_256bw_edge); %6.重构的附件3的原图像6个椭圆区域的吸收率,附件4中10个给定位置处的吸收率 [ellipse_absorb6,attach4_absorb10]=compute_problem2_absorb(); function fval=myopt(b)     k=(-90*b-sqrt(8100*b^2-8036*(b^2-16)))/4018;     fval=324*k^2*b^2-36*(64+9*k^2)*(b^2-1600); end                         

function [c,ceq] =nonlcon(b)    k=(-90*b-sqrt(8100*b^2-8036*(b^2-16)))/4018;    delta1=324*k^2*b^2-36*(64+9*k^2)*(b^2-1600);     c=-delta1;     ceq = []; end functionF=myfun(gain,rxv,y)  F=sum((rxv-gain*y).^2); functionattach3_256bw_edge=read_sixellipse_edge     for i=1:6       attach3_gray_edge=imread(sprintf('重构附件3的256X256图像中第%d个图形的2值边沿图像.jpg',i));       attach3_256bw_edge(:,:,i)=zeros(size(attach3_gray_edge));       [I,J]=find(attach3_gray_edge>200);       for j=1:length(I)           attach3_256bw_edge(I(j),J(j),i)=1;       end  figure;imshow(attach3_256bw_edge(:,:,i));title(sprintf('重构附件3的256X256图像中第%d个图形的2值边沿图像',i));   end