matlab中scr,基于matlab生成的scr文件,实现autocad曲线绘制,代码问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如题,请大神看看错在哪里了,代码如下:
%位移曲线设计
clear;
for i=1:1:60
y(i)=i/60;
x(i)=0;
end
for i=61:1:90
y(i)=1;
x(i)=(i-60)/60;
end
for i=91:1:120
y(i)=cos(2*pi*(i*2-180)/240)/2+1/2;
x(i)=(1/60)*(240/(2*pi))*sin(pi*(i*2-180)/120)/2+1/2;
end
for i=180:-1:121
x(i)=x(240-i);
y(i)=-y(240-i)+1;
end
for i=359:-1:181
x(i)=x(360-i);
y(i)=-y(360-i);
end
y(360)=0;y(361)=y(1);
x(360)=0;x(361)=x(1);
%画未修正速度曲线
figure(1);
subplot(2,1,1);
plot(x);
axis([-1 400 -1 2]);
subplot(2,1,2);
plot(y);
axis([-1 400 -1.2 1.2]);
%修正位移曲线
for i=55:1:65
x(i)=-(1/120)*(20/(2*pi))*sin(2*pi*(i-55)/20)+(i-55)/120 +x(55);
y(i)=(1/120)*(20/(2*pi))*sin(2*pi*(i-55)/20)+(i-55)/120 +y(55);
end
for i=359:-1:181
x(i)=x(360-i);
y(i)=-y(360-i);
end
y(360)=0;y(361)=y(1);
x(360)=0;x(361)=x(1);
%画修正位移曲线
figure(2);
subplot(2,1,1);
plot(x);
axis([-1 400 -1 2]);
subplot(2,1,2);
plot(y);
axis([-1 400 -1.2 1.2]);
%求导
for i=2:1:361
zx(i-1)=x(i)-x(i-1);
zy(i-1)=y(i)-y(i-1);
end
zx(360)=0;
zy(360)=1/60;
zx(361)=zx(1);
zy(361)=zy(1);
%画速度曲线
figure(3);
subplot(2,1,1);
plot(zx);
subplot(2,1,2);
plot(zy);
x2=x;
y2=y;
%凸轮设计
x2=x2*5;
zx=zx*5;
y2=y2*7;
zy=zy*7;
e=8;
r0=40;
rr=5;
s0=sqrt(r0*r0-e*e);
i=1:1:361;
s1=sin(2*pi*i/360);
c1=cos(2*pi*i/360);
% x 方向凸轮
xl1=(s0+x2).*s1+e*c1;
yl1=(s0+x2).*c1-e*s1;
dx1=(zx-e).*s1+(s0+x2).*c1;
dy1=(zx-e).*c1-(s0+x2).*s1;
s21=dx1./sqrt(dx1.^2+dy1.^2);
c21=-dy1./sqrt(dx1.^2+dy1.^2);
xx1=xl1-rr*c21;
yy1=yl1-rr*s21;
% y 方向凸轮
xl2=(s0+y2).*s1+e*c1;
yl2=(s0+y2).*c1-e*s1;
dx2=(zy-e).*s1+(s0+y2).*c1;
dy2=(zy-e).*c1-(s0+y2).*s1;
s22=dx2./sqrt(dx2.^2+dy2.^2);
c22=-dy2./sqrt(dx2.^2+dy2.^2);
xx2=xl2-rr*c22;
yy2=yl2-rr*s22;
%画字母“D”
figure(4)
plot(x2,y2);
title('letter B');
axis([-2 10 -9 9]);
%画X凸轮
figure(5);
plot(xl1,yl1);
hold on;
plot(xx1,yy1);
title('x-Cam');
%画Y凸轮
figure(6);
plot(xl2,yl2);
hold on;
plot(xx2,yy2);
title('y-Cam');
%压力角检验
figure(7)
for i=1:1:361
yy(i)=atan((zx(i)-e))./(x2(i)+s0);
yy(i)=yy(i)*180/pi;
plot(yy);
title('x-pressure angle');
end
figure(8)
for i=1:1:361
yy(i)=atan((zy(i)-e))./(y2(i)+s0);
yy(i)=yy(i)*180/pi;
plot(yy);
title('y-pressure angle');
end
zyr=[xx2,yy2];
zyt=[xl2,yl2];
save d:\cam_realyr zyr -ascii;
save d:\cam_realyt zyt -ascii;
fid=fopen('D:\\camA.scr','W'); % “D:\\camA.scr”为保存文件
fprintf(fid,'spline\n'); % spline 为样条曲线拟合
for i=1:1:361;
fprintf(fid,'%g,%g\n',xl2(i),yl2(i)); % 写入数据
end;
fprintf(fid,'c\n'); % 数据段分割结束
fprintf(fid,'spline\n'); % spline 为样条曲线拟合
for i=1:1:361;
fprintf(fid,'%g,%g\n',xx2(i),yy2(i)); % 写入数据
end;
fprintf(fid,'c\n'); % 数据段分割结束
fclose(fid); % 结束文件编辑
matlab中scr,基于matlab生成的scr文件,实现autocad曲线绘制,代码问题相关推荐
- matlab中辗转相除法,基于Matlab的辗转相除法
基于 Matlab 的辗转相除法 王汝军 (河西学院 数学与统计学院, 甘肃 张掖 734000) 摘要: 辗转相除法是整数和多项式理论中求最大公因数和最大公因式的一类重要方法,对于较大的两个整数和次 ...
- matlab中nnt,基于MATLAB的边坡稳定性评价方法
· 24· 路基工程 2009年第 3期 (总第 144期) 基于 MATLAB的边坡稳定性评价方法木 刘勇健 刘义建2 陈昌文 (1,广东工业大学 广东广州 510006:2,湖南省地质矿产勘查开发 ...
- matlab中lingrog,基于Matlab的可编程逻辑微机保护的研究.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > matlab 基于Matlab的可编程逻辑微机保护的研究.pdf ...
- MATLAB 用LMS算法实现语音去噪,在Matlab中实现基于LMS算法语音信号去噪
ComputerKnowledgeand Technology 电脑知识与技术 第10卷第32期 (2014年11月) 本栏目责任编辑:谢媛媛软件设计开发 在Matlab中实现基于LMS算法语音信号去 ...
- 在matlab中 编程n,Matlab与C++混合编程 1--在C++中调用自己写的matlab函数
在Visual Studio中使用C++中调用MATLAB程序 在matlab中可以通过mbuild工具将.m文件编译成dll文件供外部的C++程序调用,这样就可以实现matlab和C++混合编程的目 ...
- matlab中定义向量函数,matlab中如何定义向量
Matlab中生成向量的三种方法 在Matlab中,如何才能生成向量,生成向量的方法又有多少种?相信这是每一个初学者都想知道的问题.这里小编将向大家详细介绍Matlab中生成向量的三种方法. 方法一: ...
- MATLAB中hough反变换,matlab中hough变换
hough 变换提取直线(Matlab 实现) Hough 变换提取直线一.实验目标实现用 Hough 变换检测直线的算法二.实验内容 1.读入图像选取有较多直线及部分曲线以作对比的...... j= ...
- 「电子万年历matlab仿真」——基于Matlab的电子万年历仿真实现
「电子万年历matlab仿真」--基于Matlab的电子万年历仿真实现 作为一种具有时间显示.日期查询.闹钟提醒等功能的电子产品,电子万年历已经成为了人们日常生活中不可或缺的一部分.而在现代科技的发展 ...
- matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc
扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...
- matlab中插入希腊,matlab中希腊字母打法
如何在matlab中输入希腊字母_数学_自然科学_专业资料.matlab数据可视化处理,绘图技巧 如何在 matlab 中输入希腊字母 matlab 中用转义符来输入希腊字母的方法 上标用 ..... ...
最新文章
- 中科院博士整理的机器学习算法知识手册 | 附PDF下载
- 青龙羊毛——悦读(教程)
- mysql中事务的启动方式
- Visual Studio 2017 15.9预览版3支持ARM64 for UWP
- extjs TabPanel 监听激活事件
- 用java实现邮件发送验证码
- 用Arduino剖析PWM脉宽调制
- 【NOI2001】【Vijos1531】食物链(并查集拓展域)
- [macOS] git忽略所有的.DS_Store文件
- Java Thread 多线程 操作线程
- Django之WSGI浅谈
- php 去除单引号,php如何去除双引号
- pspice仿真过程中出现Less than 2 connections at node
- 【ansible】如何将ansible jinja2的双花括号转义?
- PDF文件转换成什么格式最适合编辑?
- 上拉电阻的作用原理_电容触摸屏原理以及敦泰TP FT5X06驱动
- z怎么查看mysql的用户名_怎么查看mysql的用户名和密码
- 单精度与双精度是什么意思,有什么区别?
- Servlet之Cookie和Session
- matlab画相轨迹,非线性系统的相平面法分析---相轨迹.ppt
热门文章
- win10找不到oracle11g客户端,win10操做系统下oracle11g客户端/服务端的下载安装配置卸载总结...
- t3软件怎么生成报表_t3财务报表怎么生成
- JAVA编程:编写手机投屏电脑程序
- 如何用计算机蓝牙放音乐,Win7系统如何设置使用蓝牙听歌
- 综述论文包含哪些内容?
- 计算机的职业形象,计算机专业科开展学生干部职业形象塑造专题培训
- PCL中利用KD-Tree搜索空间点云最临近点源码
- 使用FlexPaper加载swf出现无法加载的问题
- 机器学习小组知识点17:对数正态分布(Logarithmic Normal Distribution)
- session-based recommendation的两个模型对比NARM, STAMP