matlab获取等高线的坐标,[matlab数据拟合曲线]matlab获取等高线的数据
篇一 : matlab获取等高线的数据
contour(X,Y,Z,v)画出Z在向量v所有值处的等高线,如只想画出Z在i处的等高线,则调用contour(X,Y,Z,[i,i])。如果没有图形,可以将contour3试试看。
另外,若想获得某一等高线处的具体数据,则用[c,h]=contour(X,Y,Z,[i,i]).其中c中即包含等高线的信息,即对应Z=i处的xdata向量和ydata向量。直接调用c就可以了,一般情况下xdata向量和ydata向量过长,显示的时候是分段显示的dim1,dim2...表示接下来一段显示的[xdata,ydata]的长度,如下:
C = [value1 xdata(1) xdata(2)... value2 xdata(1)xdata(2)...;
dim1 ydata(1)ydata(2)...dim2 ydata(1)ydata(2)...]
为方便查看,调用C'更清晰。
另外,读取任一matlab的fig图的数据的方法如下:
open('D:\design_soft\work\w=60.fig'); %打开图
Ih=findall(gca,'type','line');%获得曲线的句柄
xc=get(Ih,'xdata');
yc=get(Ih,'ydata');
另外注意:contour(Z) draws acontour plot of matrix Z, where Z is interpreted as heights withrespect to the x-y plane. Z must be at least a 2-by-2 matrix. Thenumber of contour levels and the values of the contour levels arechosen automatically based on the minimum and maximum values of Z.The ranges of the x- and y-axis are[1:n] and [1:m], where [m,n] = size(Z).不要颠倒了!故调用时:
i=1;
for a4=-a:delta:a
k=1;
for a5=-b:delta:b
f(i,k)=int0(a4,a5);%给二维矩阵f赋值,调用int0函数
k=k+1;
end
i=i+1;
end
a4=-a:delta:a;
a5=-b:delta:b;
meshgrid(a4,a5);%meshgrid产生(a4,a5)网格
[c,h]=contour3(a4,a5,f',[0,0]);%将f转置一下才能和meshgrid(a4,a5)相匹配!
篇二 : 数据曲线拟合及MATLAB实现
刘连香
摘 要:本文介绍了数学建模和数据曲线拟合的原理方法,并给出了非线性曲线拟合的最小二乘法的MATLAB实现过程,解决了一个医学上的实际问题――给药方案制定问题。
关键词:曲线拟合; 最小二乘;给药方案
Abstract:This paper introduces the mathematical model and data fitting principle method, and gives the nonlinear curve fitting by least square method in the process of MATLAB implementation, solves a practical medical problems - delivery plan problem.
Key words:curve fitting; least squares; dosing regimens
在很多科学实验、工程数学中,常常需要确定一个变量依存于另一个或更多的变量的关系,即函数。但实际上确定函数的形式(线性形式、乘法形式、幂指形式或其它形式)时往往没有先验的依据。只能在收集的实际数据的基础上对若干合乎理论的形式进行试验,从中选择一个最能拟合有关数据(即最有可能反映实际问题)的函数形式。下面介绍用MATLAB求解曲线拟合的实际问题。
一、曲线拟合的最小二乘法
基本思路:对科学实验有一组实验数据(xi,yi),i=1,2,…,m ,要求一个函数f(x)=a1f1(x)+a2f2(x)+…+amfm(x)与所给数据(xi,yi),i=1,2,…,m 拟合,使函数与所有数据点最为接近,其中fk(x)是事先选定的一组函数,ak是待定系数(k=1,2…,m,m 用最小二乘法求拟合曲线时,首先要确定f(x)的形式,这不单纯是数学问题,还与所研究问题的运动规律及所得观测数据有关。通常要从问题的运动规律及给定数据描图,确定f(x)的形式,并通过实际计算选出较好的结果。
二、MATLAB求解过程
在最小二乘法拟合中,若要寻求的函数f(x)是任意的非线性函数,则称为非线性最小二乘拟合。MATLAB6?3的优化工具箱中提供了求非线性最小二乘拟合函数:lsqcurvefit。使用这个命令时,要先建立M-文件fun?m,在其中定义函数F(x)。
设已经xdata=(xdata1,xdata2,…,xdatan),ydata=(ydata1,ydata2,…,ydatan),lsqcurvefit用以求参量x(向量)的向量值函数:
F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T中的参变量x(向量),使得
∑ni=1(F(x,xdatai)-ydata)2最小
输入格式为:x=lsqcurvefit(‘fun’,x0,xdata,ydata)
输出目标函数值格式:f=fun(x,xdata),其中x0为迭代的初值。
实 例 给药方案制定问题:一种新药用于临床之前,必须设计给药方案。在快速静脉注射的给药方式下,所谓给药方案是指:每次注射计量多大,间隔时间多长。药物进入机体后血液输送到全身,在这个全过程中不断地被吸收、分布、代谢,最终排出体外,药物在血液中的浓度,即单位体积血液中的药物含量,称为血药浓度。在最简单的一室模型中,将整个机体看作一个房室,称中心室,室内血药浓度是均匀的。快速静脉注射后,浓度立即上升;然后迅速下降;当浓度太低时,达不到预期的治疗效果;当浓度太高,又可能导致药物中毒或副作用太大。临床上,每种药物有一个最小有效浓度c1和一个最大有效浓度c2.设计给药方案时,要使血液浓度保持在c1-c2之间。本题c1=10,c2=25(ug/ml)。
通过实验,对某人用快速静脉注射方式一次注入该药物300mg后,在一定时刻t(h)采集血药,测得血药浓度c(ug/ml)如下表:
解: 问题分析:要设计给药方案,必须知道给药后血药浓度随时间变化的规律。
在半对数坐标中做出t与c的关系图(如右下图),此图说明血药浓度数据符合负指数变化规律。
1.求血药浓度变化规律
假设:(1)机体看作一个房室,室内血药浓度均匀――一室模型。
([]2)药物排除速率与血药浓度成正比,比例系数k(>0)。
(3)血液容积为v,t=0时注射剂量为d,则t=0血药浓度为d/v。
由假设(2)得: dcdt=-kc
由假设(3)得:c(0)=d/v
解微分方程:dcdt=-kc
c(0)=d/v
得:c(t)=dve-kt
在此,d=300mg,t及c(t)在某些点处的值见前表,下面通过拟合求出参数k,v用非线性最小二乘拟合c(t)--用lsqcurvefit函数。
(1)先用M-文件curvefun3?m定义函数
Function f=curvefun3(x,tdata)
d=300
f=(x(1)\\d)*exp(-x(2)*tdata) %x(1)=v;x(2)=k
(2)再编写主程序lihe2?m
Clear
tdata=[0?25 0?5 1 1?5 2 3 4 6 8];
cdata=[19?21 18?15 15?36 14?10 12?89 9?32 7?45 5?24 3?01];
x0=[10,0?5];
x=lsqcurvefit(‘curvefun3’,x0,tdata,cdata);
f=curvefun3(x,tdata)
x
计算结果:k=0?2420(1/h),v=14?8212(L).
2.制定给药方案
假设:(1)设每次注射剂量D,间隔时间。(2)血药浓度c(t)应c1≤c(t)≤c2。(3)初次剂量D0应加大。给药方案记为:D0,D,τ,则:
(1) D0=vc2,D=v(c2-c1)
(2) c1=c2e-kτ?τ=1klnc2c1
将c1=10, c2=25, k=0?2347, v=15?02代人(1)(2)计算得:
D0=375?5,D=225?3,τ=3?9
故可制定给药方案:D0=375(mg),D=225(mg),τ=4(h)即首次注射375mg,其余每次注射225mg,注射的间隔时间 为4h.(作者单位:江西城市职业学院)
参考文献
[1] 张韵华,奚梅成,陈效群.数值计算方法和算法[M].北京:科学出版社,2002。
[2] 于润伟. MATLAB基础及应用[M].北京:机械工业出版社, 2003。
[3] 李庆扬 王能超 易大义 数值分析(第4版) 清华大学出版社,2005。
[4] 萧树铁 ,数学实验,高等教育出版社,1999。
matlab获取等高线的坐标,[matlab数据拟合曲线]matlab获取等高线的数据相关推荐
- matlab写函数进行坐标正反算,基于matlab的坐标正反算
<基于matlab的坐标正反算>由会员分享,可在线阅读,更多相关<基于matlab的坐标正反算(6页珍藏版)>请在人人文库网上搜索. 1.基于 matlab 的坐标正反算测量程 ...
- php获取用户当前坐标,web端定位:获取当前地理位置
方法一:html5原生提供的定位: 讲解:在支持HTML5的浏览器下,navigator对象下有一个属性----geolocation,而geolocation属性又有个方法getCurrentPos ...
- MATLAB极坐标与xy坐标互相转换_不改变数据形状_极坐标变量v_p(theta,r)的平面图
不改变数据形状的极坐标转换这应是原创,网上能找到的都是会改变数据形状的,比如正方形的xy图变为圆形的极坐标图. 而我的程序则是直接投影,即正方形的xy图变为正方形的数据区块投影在极坐标图上. 一共四个 ...
- matlab获取手机传感器,分享采集Android内置传感器数据到MATLAB的方法
本方法能够实现安卓手机内置的加速度传感器.陀螺仪.磁场数据.角速度传感器及GPS数据采集到MATLAB. 1.硬件准备:安卓手机,电脑,且在同一局域网中: 2.软件准备:安卓手机安装MATLABmob ...
- (附超声射频数据)matlab实现b超原始信号数据生成图像
matlab程序实现b超原始信号数据生成图像 1. 超声RF信号的获取与导入 2.超声信号的预处理 3.图像的生成 本文来自09年川大一位同学写的实验报告,算法实现很粗糙,适合新手了解B超信号处理过程 ...
- Excel数据导入Matlab绘图
目录 1. excel里准备好需要绘画的数据 2. matlab加载excel中数据 3. 根据data画图 3.1 直线图 3.2 柱形图 4. 设置绘制图形的X坐标下标 5. 改变下标显示方向:倾 ...
- semilogx 多条曲线_怎么让两个指数在一个坐标,matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢...
Q1:matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢 多个纵轴数组分别是y1,y2,y3,横轴数组为x 命令为: semilogx(x,y1,x,y2,x,y3) 完了 Q2: ...
- matlab 线性拟合相关系数,Matlab自动选择相关性最高波段并拟合曲线
前言 之前完成老师任务的时候写的,里面有一个错误,就是误差分析的时候有个公式错了,自己注意下. 代码 %作者:山科_xxin %时间:2016.10 clear;clc; [NUM]=xlsread( ...
- 将ANSYS里的数据导入MATLAB的步骤
将ANSYS里的数据导入MATLAB的步骤: 1.在ansys中定义一个矩阵用来存储数据 *get,NodeNum,NODE,0,COUNT !得到模型的所有节点数 *get,nd,NODE,0,NU ...
最新文章
- 实战证明LINUX系统下密钥对验证的安全性
- SpringBoot第六篇:springboot整合mybatis
- Java -cp 使用
- 两个年月日怎么相减_会议记录应该怎么记?看这里
- 浅谈Object Pascal的指针[引用 Nicrosoft]
- es6 实例:Web 服务的客户端
- 嵌入网站的挖矿代码——CoinImp
- File类的构造方法:三种重载形式(新手)
- JavaWeb——response与request
- HDU 1016 Prime Ring Problem
- 计算机没wps云档怎么办,WPS云空间多大?WPS云文档空间已经用满怎么办?删数据或买VIP-太平洋电脑网...
- 毕设周记——确定选题
- 数模更新篇-3-因子分析模型
- 移动前端开发和 Web 前端开发的区别是什么?
- 创强教师办公用计算机配备要求,教师办公室电脑使用与管理有哪些规定
- 扒一扒“WEBP格式”的图片
- [转载]网络数据流的java处理
- windows新电脑只有固态C盘,如何分盘
- UVa 1600 巡逻机器人(Patrol Robot)
- PyQt5_pyqtgraph蜡烛图
热门文章
- 2022-2028全球与中国移动网页浏览器市场现状及未来发展趋势
- 7号球衣的故事:重要的不是号码,而是穿着它的人
- citrix vdi 服务器性能要求,Citrix测试VDI的最佳hypervisor
- java编写car类_java编写一个汽车类,有属性:品牌、型号、排量、速度,有方法:启动、加速、转弯、刹车、息火...
- EPLAN中断点使用方法1
- Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合
- 入手评测 ROG 冰刃 5 Plus怎么样
- QT全自动检测,挂载U盘
- 300M宽带网速只有16M?下载速度达到多少才算正常?
- 手机界面显示无服务器,手机直接投屏电视,电视上显示投屏成功,却没有图像