用excel绘制标准曲线

2023-06-28

第一篇:用excel绘制标准曲线

用Excel绘制标准曲线以及求未知含量的方法

将数据整理好输入Excel,并选取完成的数据区,并点击图表向导,如下图:

点击图表向导后会运行图表向导如下图,先在图表类型中选“XY散点图”,并选了图表类型的“散点图”(第一个没有连线的)。

点击“下一步”,出现如下图界面。如是输入是如本例横向列表的就不用更改,如果是纵向列表就改选“列”:

如果发现图不理想,就要仔细察看是否数据区选择有问题,如果有误,可以点击“系列”来更改,如下图:

如果是X值错了就点击它文本框右边的小图标,结果如下图:

在表上选取正确的数据区域,点击“下一步”,出现图表选项界面如下图,调整选项,以满足自己想要的效果:

点击“下一步”,一张带标准值的完整散点图完成,如下图:

现在要根据数据进行回归分析,计算回归方程,绘制出标准曲线:

先点击图上的标准值点,然后按右键,点击“添加趋势线”。如下图:

本例是线性关系,在类型中选“线性”,如下图:

点击“确定”,标准曲线回归画好:

回归后的方程是什么样呢?点击趋势线(也就是标准曲线)然后按右键,选趋势线格式,如下图:

在显示公式和显示R平方值(直线相关系数)前点一下,勾上。再点确定,公式和相关系数都出来了。如图:

由此标准曲线可得出浓度:切换到“选项”标签页,选择“显示公式”,确定。在图表中出现一个公式,即浓度对吸光度的关系。

在单元格中输入该公式(其中的X值用具体的单元格引用代替),即可根据该公式计算出样品的浓度。

有时候有的项目是成指数增加,散点图如下图:

从上图看并不相关,除了最大的一个点外其余的几乎都成了直线。这不难理解,因为对于10000000而言,10与10000都差不了多少。因此我们平时常使用半对数坐标纸画图。对于Excel,先点中Y坐标轴,再按右键,选“坐标轴格式”如下图:

将左下方的对数刻度选中,确定。完整的一个半对数标准曲线就做好了:

利用Excel制作标准曲线,如果认真调整参数可以得到不同的效果。绘图时最好用XY散点图。生成图表后,选择生成的曲线,之后在曲线上点击右键,选择“添加趋势线”,在“类型”中,选择最接近的曲线形式。比如你的曲线接近线性,则选择“线性”,若接近乘幂的形式,则选择“乘幂”,如果比较难判断,则选择“多项式”,并调整其阶数。

第二篇:Bezier曲线的绘制实验报告

一、程序实现环境

1操作系统:Windows XP 、Windows7 2.编程语言:C++ 3.程序实现环境:Visual C++ 6.0

二、算法思想

三、使用说明

程序界面如下图:

用户可以在编辑框中输入4个控制点的坐标,也可以通过在绘图区内直接通过鼠标的单击指定4个控制点的位置,输入4个控制端点后,单击“画Bezier曲线”按钮即可绘制Bezier曲线。

四、实验结果

五、程序代码(关键代码)

void CMFC_BezierCurve2Dlg::OnLButtonDown(UINT nFlags, CPoint point) { if(pointOrd==1)

//原点(490,270) {

m_p1_x = point.xpoint.y; } if(pointOrd==2) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p1_x, 270-m_p1_y);

pDC->LineTo(point.x, point.y);

m_p2_x = point.xpoint.y; } if(pointOrd==3) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p2_x, 270-m_p2_y);

pDC->LineTo(point.x, point.y);

m_p3_x = point.xpoint.y; } if(pointOrd==4) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p3_x, 270-m_p3_y);

pDC->LineTo(point.x, point.y);

m_p4_x = point.xpoint.y; } pointOrd++; UpdateData(FALSE);

CDialog::OnLButtonDown(nFlags, point); }

voidGetCnk (int n, int *c) { inti,k; for(k=0; k<=n; k++) {

c[k]=1;

for(i=n; i>=k+1; i--) c[k]=c[k]*i;

for(i=n-k; i>=2; i--) c[k]=c[k]/i; } }

void CMFC_BezierCurve2Dlg::GetPointPos(intControlN, double t, int *c) { int k, n=ControlN-1; double Bernstein; Pt.x=0.0; Pt.y=0.0; for(k=0; k

Bernstein=c[k]*pow(t,k)*pow(1-t,n-k);

Pt.x += ControlP[0][k].x * Bernstein;

Pt.y += ControlP[0][k].y * Bernstein; } }

void CMFC_BezierCurve2Dlg::OnButtonDrawBeziercurve() { UpdateData(); pointOrd=1; CDC *pDC=GetDC(); ControlP[0][0].x=m_p1_x;ControlP[0][0].y=m_p1_y; ControlP[0][1].x=m_p2_x;ControlP[0][1].y=m_p2_y; ControlP[0][2].x=m_p3_x;ControlP[0][2].y=m_p3_y; ControlP[0][3].x=m_p4_x;ControlP[0][3].y=m_p4_y;

pDC->MoveTo(490+m_p1_x, 270-m_p1_y); pDC->LineTo(490+m_p2_x, 270-m_p2_y); pDC->LineTo(490+m_p3_x, 270-m_p3_y); pDC->LineTo(490+m_p4_x, 270-m_p4_y);

int *C, i; intControlN=4, m=500; C=new int[ControlN]; GetCnk (ControlN-1, C); for(i=0; i<=m; i++) { GetPointPos(ControlN, (double)i/(double)m, C); pDC->SetPixel(490+Pt.x, 270-Pt.y, 255); } }

两段Bezier曲线的拼接实验报告

一、程序实现环境

1操作系统:Windows XP 、Windows7 2.编程语言:C++ 3.程序实现环境:Visual C++ 6.0

二、算法思想

三、使用说明

程序界面如下图:

用户可以在编辑框中输入4个控制点的坐标,也可以通过在绘图区内直接通过鼠标的单击指定4个控制点的位置,输入4个控制端点后,单击“画Bezier曲线”按钮即可绘制Bezier曲线。

分别绘制完两段Bezier曲线后,单击拼接即可实现两段曲线的拼接。

四、实验结果

五、程序代码(关键代码)

void CMFC_BezierCurve2Dlg::OnLButtonDown(UINT nFlags, CPoint point) { if(pointOrd==1)

//原点(490,270) {

m_p1_x = point.xpoint.y; } if(pointOrd==2) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p1_x, 270-m_p1_y);

pDC->LineTo(point.x, point.y);

m_p2_x = point.xpoint.y; } if(pointOrd==3) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p2_x, 270-m_p2_y);

pDC->LineTo(point.x, point.y);

m_p3_x = point.xpoint.y; } if(pointOrd==4) {

CDC *pDC=GetDC();

pDC->MoveTo(490+m_p3_x, 270-m_p3_y);

pDC->LineTo(point.x, point.y);

m_p4_x = point.xpoint.y; }

pointOrd++; UpdateData(FALSE);

CDialog::OnLButtonDown(nFlags, point); }

voidGetCnk (int n, int *c) { inti,k; for(k=0; k<=n; k++) {

c[k]=1;

for(i=n; i>=k+1; i--) c[k]=c[k]*i;

for(i=n-k; i>=2; i--) c[k]=c[k]/i; } }

void CMFC_BezierCurve2Dlg::GetPointPos(intControlN, double t, int *c) { int k, n=ControlN-1; double Bernstein; Pt.x=0.0; Pt.y=0.0; for(k=0; k

Bernstein=c[k]*pow(t,k)*pow(1-t,n-k);

Pt.x += ControlP[pointGroup][k].x * Bernstein;

Pt.y += ControlP[pointGroup][k].y * Bernstein; } }

void CMFC_BezierCurve2Dlg::BezierCurve() { CDC *pDC=GetDC(); pDC->MoveTo(490 + ControlP[pointGroup][0].x, 270ControlP[pointGroup][1].y); pDC->LineTo(490 + ControlP[pointGroup][2].x, 270ControlP[pointGroup][3].y);

int *C, i; intControlN=4, m=500; C=new int[ControlN]; GetCnk (ControlN-1, C); for(i=0; i<=m; i++) {

GetPointPos(ControlN, (double)i/(double)m, C);

pDC->SetPixel(490+Pt.x, 270-Pt.y, 255); } }

void CMFC_BezierCurve2Dlg::OnButtonDrawBeziercurve() { UpdateData(); pointOrd=1;

ControlP[pointGroup][0].x=m_p1_x; ControlP[pointGroup][0].y=m_p1_y; ControlP[pointGroup][1].x=m_p2_x; ControlP[pointGroup][1].y=m_p2_y; ControlP[pointGroup][2].x=m_p3_x; ControlP[pointGroup][2].y=m_p3_y; ControlP[pointGroup][3].x=m_p4_x; ControlP[pointGroup][3].y=m_p4_y;

BezierCurve(); pointGroup++; }

void CMFC_BezierCurve2Dlg::OnButtonMatch() { pointGroup--;

double dx, dy; double k1, k2, s, s1, s2; int i; CPoint temp; dx = ControlP[pointGroup][0].xControlP[pointGroup-1][3].y; for(i=0; i<4; i++) {

ControlP[pointGroup][i].x -= dx;

ControlP[pointGroup][i].y -= dy; }

k1=1.0*(ControlP[pointGroup-1][3].y-ControlP[pointGroup-1][2].y)/(ControlP[pointGroup-1][3].x-ControlP[pointGroup-1][2].x); k2=1.0*(ControlP[pointGroup][1].y-ControlP[pointGroup][0].y)/(ControlP[pointGroup][1].x-ControlP[pointGroup][0].x); if( k1>0 ) {

if (ControlP[pointGroup-1][2].x

s1 = atan(k1);

else

s1 = PI + atan(k1); } else if ( k1<0 ) {

if (ControlP[pointGroup-1][2].x

s1 = 2*PI + atan(k1);

else

s1 = PI + atan(k1); }

if( k2>0 ) {

if (ControlP[pointGroup][0].x

s2 = atan(k2);

else

s2 = PI + atan(k2); } else if ( k2<0 ) {

if (ControlP[pointGroup][0].x

s2 = 2*PI + atan(k2);

else

s2 = PI + atan(k2); } s = s1(ControlP[pointGroup][i].y-ControlP[pointGroup-1][3].y) * sin(s) + ControlP[pointGroup-1][3].x;

temp.y = (ControlP[pointGroup][i].x-ControlP[pointGroup-1][3].x) * sin(s) + (ControlP[pointGroup][i].y-ControlP[pointGroup-1][3].y) * cos(s) + ControlP[pointGroup-1][3].y;

ControlP[pointGroup][i].x = temp.x;

ControlP[pointGroup][i].y = temp.y; }

BezierCurve(); }

第三篇:WB01 校准曲线绘制—亚硝酸盐的快速检测操作说明概要

农产品与食品质量检测技术教学资源库

校准曲线绘制—亚硝酸盐的快速检测操作说明

1物品准备

分光光度计、恒温水浴锅、容量瓶、移液管、量筒等等。 2检测步骤

制备亚硝酸钠标准溶液(200μg/mL):准确称取0.1000g于110℃~120℃干燥恒重的亚硝酸钠,加水溶解移入500mL 容量瓶中,加水稀释至刻度,混匀。

制备亚硝酸钠标准使用液(5.0μg/mL):临用前,吸取亚硝酸钠标准溶液5.00mL,置于200mL 容量瓶中,加水稀释至刻度。

接下来配制标准系列溶液,取9个50mL的容量瓶,从0开始编号。分别吸取0.00,0.20,0.40,0.60,0.80,1.00,1.50,2.00,2.50mL亚硝酸盐标准溶液于容量瓶中,然后分别加入2.00mL的0.4%对氨基苯磺酸溶液,静止3-5min再分别加入1.00mL的0.2%盐酸萘乙二胺溶液,最后定容,摇匀。

标准系列溶液配制完成后进行吸光度的测定,以0号容量瓶溶液作为参比,选用波长为538nm,以1cm比色皿进行比色,测定吸光度,记录好数据。

最后进行校准曲线的绘制,以吸光度为纵坐标,浓度为横坐标。 3 注意事项

亚硝酸钠标准使用液需现配现用; 加0.4%对氨基苯磺酸后静止3-5分钟; 定容后静止15分钟; 每个试剂加好后要摇匀;

所有容量瓶溶液需要在同一时段进行吸光度测定,不可中断测定。

第四篇:用Photoshop绘制产品效果图

Photoshop是我们十分熟悉的一款平面设计类软件,功能强大,集修图、绘图、拼版于一体,平面设计类的所有工作都可以借助这个平台完成。

我们在计算机辅助三维设计课程中学习了如何使用rhino创建产品模型,然后使用3Dsmax环境下的vray插件进行渲染。使用这种方式我们可以获得模拟三维空间下的仿真景象,但是步骤略显繁琐,对使用者的使用技巧要求也比较高。

如果在较短的时间内,想要对某种产品做一个快速的表达,使用二维软件不失为是一种更好的方式。比如photoshop、coreldraw、illustrator、painter等等。在二维环境下绘制三维产品效果图需要一定的美术功底,把握好亮度、色彩、阴影、材质各方面的变化,才能绘出真实感强的效果图。

初学这门技巧我们从描摹图片开始,一边观察图片中产品的特征,一边绘制。 以上面的图片为范例,我们一起一步步绘制出右边的效果图。

打开photoshop(范例中使用的是ps cs4版本),新建一个1600×1200,分辨率72的画布。

然后找到硬盘中存储的“范例图片.jpg”,将其打开。

将范例图片拖动到新建的未标题-1画布上。

将“范例图片.jpg”关闭掉,按下alt键,同时在画布上拖动这张图片,即复制出一份。拖动过程按住shift可以保证水平复制。

复制出的一份我们用于作为背景图在其上描摹外形,原来的一份供我们提取色彩、作为样例使用。此时在图层栏可以看到,已经有了三个图层。按下右图按钮,新建一个图层,命名其为外廓(改名在图层2字样上双击即可)。

英文输入状态下按下键盘的Z键,启用放缩功能,将视图调整到便于观察的位置,在外廓图层里使用钢笔工具勾出该产品最外的轮廓(钢笔工具快捷键为P)。注意打开钢笔工具后,需要在设置上修改为路径模式,如下右图所示。

描摹过程有一些技巧,需要同学们多多练习来掌握,完成后可以按键盘的A键对各个节点进行调整,确信无误后,按键盘的ctrl+enter键,将这个路径转化为选区。

选中外廓图层,按键盘快捷键alt+delete,将选区填充为默认的前景色黑色,然后按ctrl+D,取消选区。在图层栏,将外廓图层的不透明度调整为10%,这样这个图层就变的很淡,不会影响我们观察背景图。接下来新建图层来绘制手机的蓝色面板部分。

同样的步骤,不再复述,完成后也调整不透明度。

接下来绘制显示屏的边缘,新建图层,使用钢笔工具。注意将视图放大来观察显示屏周边的小倒角。最后新建图层绘制下端的两个话筒口。完成后如下。

接下来一层层的调整,使其反映出实物的特征,由下而上,首先是外廓图层。 将外廓图层的不透明度改回100,选中后按下shift再按→键三下,将其平移三个单位,方便我们对照图片调整,调完后再移回。为防其他图层干扰,可以将暂时不用的图层前门的眼睛关闭掉,

在外廓图层的空白位置双击,打开图层样式,选中渐变叠加前面的方格,点击渐变叠加,打开渐变编辑页面。点击图示部分,在弹出的渐变编辑器里进行如下设置。

由上而下依次点击这三个红框所示部分,改颜色为

同理调整又变白色色块颜色为:其他设置如下:

点击确定退出,将图层移回原位后隐藏这一图层,打开其上的蓝色面板图层,调整不透明度100。同理外移。

同上也是打开渐变叠加,左边色块调整为,右边,其他如下:

将图层移回,隐藏,打开显示屏图层,外移并加入渐变。设置如下,完成后移回。

最后来处理话筒的部分,将其移出,对比原图进行渐变叠加。设置如下,完成后移回。

现在关闭掉下部的图片,显示所有新建图层,观察画好的部分已经有了大致的效果,但是缺乏细节,接下来就为效果图增添细节,使看上去更加逼真。

在外廓图层之上新建一个图层,改名为金属边框。然后按住ctrl,鼠标点击蓝色面板前的缩略图,观察视窗中的变化。按键盘的M键,鼠标移到虚线框范围内,点鼠标右键,点击描边,设置如下。

绘出的白边是沿着蓝色面板外廓的,与透视的原则并不十分相符,所以接下来对这个白边做一下调整,按键盘V键,使用选取工具,并在选区边上点右键,选择如下命令。

按住右上角的那个控制点,略向内缩,观察图形使之看上去透视正确,调整完成按enter键。

观察实物照片,在金属边框周围还有细细的分隔线,下面把金属边框内部的分隔线画上去。在金属边框图层之上新建一个图层,命名为分割线。按住ctrl,鼠标点击蓝色面板前的缩略图,按键盘的M键,鼠标移到虚线框范围内,点鼠标右键,点击描边,设置如下。

画好后感觉分割线有些太重,个别的位置需要减淡一些,才更真实。使用橡皮擦工具,或按键盘E键,调整设置如下。

然后在分隔线图层上慢慢涂抹,将手机右上角部分的黑线擦淡一些。擦除的位置参考下图。

接下来完成这一部分的反射细节,在外廓图层之上建立一个新图层,改名为反射部分。在这个图层上用钢笔工具绘制如下图的区域,然后ctrl+enter变换为选区。将前景色改为,Alt+delete填充这一选区,然后使用滤镜-模糊-高斯模糊,设置为1,确定,然后ctrl+f再重复一次。

使用橡皮擦命令将头尾部分擦除几下(不透明度和流量调低),使之与外廓自然的结合起来。

使用画笔工具,点上一个高光,设置如下(色彩为白色)。

同理在外廓靠下的位置再画这样一条反射带,建立新图层反射部分2。按键盘的D键恢复前景色黑后色白,ctrl+delete,填充白色。按键盘M键在选区上点右键描边,设置如下。

然后使用橡皮擦,同上将边缘部分擦除减淡,使之融于外廓。

接下来休整显示屏部分的细节,新建一个图层,按住ctrl点击显示屏前面的缩略图。点键盘M,右键描边,设置如下。

增加渐变叠加并按如下设置。

将图层的不透明度调为50,并使用橡皮工具将边角略微休整,使之自然。

观察整体,感觉外廓部分最下面颜色不够深,修改这个图层,按ctrl点击外廓的缩略图,建立选区,在选区内拉渐变,将底部色彩加深。点渐变工具或按键盘G,按如下四个红框部分进行修改,将两个色块都调为黑色。

在外廓图层上新建一个外廓阴影图层,然后在视图上拉直线生成渐变,随时观察效果。

最后一步,给这个手机加一点光照效果,在最顶部使用淡淡的白色渐变来凸显产品的光感。

建立图层后按ctrl点蓝色面板的缩略图,按键盘M,修改如下:

点键盘G,打开渐变,调整为:

渐变类型同上,两色块调为白色。

然后修改这个图层的透明度使之看上去柔和自然。

整个到这里就完成了!

对比一下,是不是很有成就感呢? O(∩_∩)O

平面环境下的三维效果图可以方便我们进行平面设计,随意的加入一些倒影、配图、配色方案,增加产品的宣传效果。(尝试以下操作时注意首先将分层的psd文件保存起来,然后另起名存一份,以免图层信息丢失。)

1、 加入倒影。

打开另存的文件,选择所有刚刚新建的所有图层(除背景和两个图片背景外的所有图层),按键盘的ctrl+e,合为一层。改其名为效果图。

按住效果图图层将其拖动到下方按钮处,复制出新的一份效果图图层。

在效果图副本的控件边缘上点右键,垂直翻转一份。

按住shift将其下移,按enter确定。

作为桌面投影要淡淡的,呈现渐变消逝效果。在这里我们使用与背景色白色相符的白色渐变来把作为倒影的图层渐隐掉。

选择副本图层,点M界定一个区域(防止渐变影响到效果图主体)。

拉渐变的过程中按住shift可保证渐变水平或垂直。

完成后如上图,也可以更换背景色彩,比如下图效果。

或者给手机下面加一点阴影,都是增加其立体感的技巧。

2、 给手机的屏幕配上漂亮的桌面。

找到一张手机界面的图片,裁切后拖到效果图中。

使用扭曲工具,然后拖动控件的四个角,放置到效果图屏幕的四个角上即可。然后将这个图层下移到如下位置,完成。

第五篇:用cad绘制的一份室内平面图操作步骤

AutoCAD室内平面图绘制步骤

打开“最终室内平面效果图”(此文件如果打不开,可以看下面的截图),看到平面图,首先应该想到先要绘制定位中心线:

步骤

1、首先单击工具栏按钮来创建图层,出现图层创建面板(如下图),再按

前面的

这个按钮进行创建,单击刚创建的图层,按F2键可以进行修改图层,如先点选图层1,再按F2键,修改为:轴线。

步骤2:首先绘制如下图所示的定位中心线(红色的定位中心线,如下图),每一个定位中心线都是用来绘制柱子或墙体的辅助线。

单击右侧工具箱中的“直线”工具把所有中心线都定位好。

,输入12000,利用这条线往下偏移(快捷键O),

步骤3:下面进行窗洞和门洞的开口:

开窗洞:单击“直线”命令,拾取A点,不按下鼠标,输入1519,至B点后,单击C点,完成BC直线,用偏移命令,把BC直线偏移1600,用修剪命令把BD线段(如下左图所示),删除即完成一个1600窗洞的开口,其它依次如此,最终所有窗洞完成(如下右图所示)。(可打开“室内平面图制作过程.dwg”文件,看过程)。

步骤

4、在开门洞之前,用“修剪”命令,先把多余的中心线删除掉(如下图所示)。

步骤5:开门洞:此平面图的墙体宽为180。既然墙体180,对半分就是90,门边我们设50,也就是大门左侧开门洞的距离至中心钱为90+50=140(如左图),依旧按照开窗洞的方法来开门洞,单击“直线”命令,拾取、偏移、修剪来完成所有门洞的开口(如右图);

步骤6:墙体的设置:此平面图全部用180,也有设墙体为120的。

首先切换至墙体图层。白色

单击“绘图”菜单下的“多线”命令,设置对正为无,比例为180,

要把墙体封口,要单击“格式”菜单下的“多线样式”命令,对话框单击“新建”按钮,新建“墙体”把前后封口,置为当前层,先把外框拉好(如下图)。

步骤7:墙体的修改:

单击“修改”菜单下“对象”下的“多线”命令,弹出“多线编辑工具”对话框(如左图)。 另一方法是:在多线上双击即弹出“多线编辑工具”对话框。出现(如右图)所示现象,先把两边的多线进行分解(X),然后修剪掉。

步骤8:把门放入墙体中:切换至门图层(绿色): 门的制作(如下左图):单击矩形(rec)(50,810)----单击圆弧(A),点取矩形上下点-----再用直线封口----复制(810一般门)分别放在其应在的位置,然后用[缩放工具(SC)---C(中心点)----R(参照值)---810---890(或650)]进行大门和卫生间门的设置,进行旋转(RO)、移动(M),最终全部门安装好(如下右图)。

步骤9:建立窗体:切换到窗体图层(绿色)

单击“格式”菜单下的“多线样式”命令,对话框单击“新建”按钮,新建“窗体”,把前后封口,上下各偏移0.5、0.

3、-0.5、-0.3,然后把窗体置为当前层,单击“绘图”菜单下的“多线”命令,进行窗体的绘制,最终所有窗户安装好(如下图所示)。

步骤10:门窗的注释:

门的代号为:M

窗体代号为:C 方法:单击工具箱中的“文字”工具

,在绘图区用鼠标框选一个区域,自动出现文字格式工具栏,输入文字并调整文字大小,分别复制到所需的位置,再进行修改。如:M0、M1等确定,最终效果如下图所示。

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:汽车4s店财务流程下一篇:110kv变电站技术要求