求懂matlab和C语言的大神,同样的算法,为什么出来的结果完全不同?代码如下
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/19 22:56:19
求懂matlab和C语言的大神,同样的算法,为什么出来的结果完全不同?代码如下
clc;
test_x=30;
test_y=50;
x1=0;y1=0; x2=500;y2=0; x3=500;y3=350; x4=0;y4=350;
R21=(((test_x-x2)^2+(test_y-y2)^2)^0.5-((test_x-x1)^2+(test_y-y1)^2)^0.5);
R31=(((test_x-x3)^2+(test_y-y3)^2)^0.5-((test_x-x1)^2+(test_y-y1)^2)^0.5);
R41=(((test_x-x4)^2+(test_y-y4)^2)^0.5-((test_x-x1)^2+(test_y-y1)^2)^0.5);
R21
R31
R41
R1=0.5*(R31^2-R41^2-R21^2)/(R21+R41-R31)
Current_X=(500^2-R21^2-R21*(R31^2-R41^2-R21^2)/(R21+R41-R31))/1000;
Current_Y=(350^2-R41^2-R41*(R31^2-R41^2-R21^2)/(R21+R41-R31))/700;
Current_X
Current_Y
上面是matlab的,下面是C语言的
unsigned int test_x=30;
unsigned int test_y=50;
unsigned int x1=0,y1=0,x2=500,y2=0,x3=500,y3=350,x4=0,y4=350;
float R21=0,R31=0,R41=0;
R21=sqrt(pow((test_x-x2),2)+pow((test_y-y2),2))-sqrt(pow((test_x-x1),2)+pow((test_y-y1),2));
R31=sqrt(pow((test_x-x3),2)+pow((test_y-y3),2))-sqrt(pow((test_x-x1),2)+pow((test_y-y1),2));
R41=sqrt(pow((test_x-x4),2)+pow((test_y-y4),2))-sqrt(pow((test_x-x1),2)+pow((test_y-y1),2));
Current_X=(unsigned int)(250000-pow(R21,2)-R21*(pow(R31,2)-pow(R41,2)-pow(R21,2))/(R21+R41-R31))/1000;
Current_Y=(unsigned int)(122500-pow(R41,2)-R41*(pow(R31,2)-pow(R41,2)-pow(R21,2))/(R21+R41-R31))/700;
我试过很多很多方法了,算出来的结果不同啊,不是小数不同,而是完全没关系的那种!
clc;
test_x=30;
test_y=50;
x1=0;y1=0; x2=500;y2=0; x3=500;y3=350; x4=0;y4=350;
R21=(((test_x-x2)^2+(test_y-y2)^2)^0.5-((test_x-x1)^2+(test_y-y1)^2)^0.5);
R31=(((test_x-x3)^2+(test_y-y3)^2)^0.5-((test_x-x1)^2+(test_y-y1)^2)^0.5);
R41=(((test_x-x4)^2+(test_y-y4)^2)^0.5-((test_x-x1)^2+(test_y-y1)^2)^0.5);
R21
R31
R41
R1=0.5*(R31^2-R41^2-R21^2)/(R21+R41-R31)
Current_X=(500^2-R21^2-R21*(R31^2-R41^2-R21^2)/(R21+R41-R31))/1000;
Current_Y=(350^2-R41^2-R41*(R31^2-R41^2-R21^2)/(R21+R41-R31))/700;
Current_X
Current_Y
上面是matlab的,下面是C语言的
unsigned int test_x=30;
unsigned int test_y=50;
unsigned int x1=0,y1=0,x2=500,y2=0,x3=500,y3=350,x4=0,y4=350;
float R21=0,R31=0,R41=0;
R21=sqrt(pow((test_x-x2),2)+pow((test_y-y2),2))-sqrt(pow((test_x-x1),2)+pow((test_y-y1),2));
R31=sqrt(pow((test_x-x3),2)+pow((test_y-y3),2))-sqrt(pow((test_x-x1),2)+pow((test_y-y1),2));
R41=sqrt(pow((test_x-x4),2)+pow((test_y-y4),2))-sqrt(pow((test_x-x1),2)+pow((test_y-y1),2));
Current_X=(unsigned int)(250000-pow(R21,2)-R21*(pow(R31,2)-pow(R41,2)-pow(R21,2))/(R21+R41-R31))/1000;
Current_Y=(unsigned int)(122500-pow(R41,2)-R41*(pow(R31,2)-pow(R41,2)-pow(R21,2))/(R21+R41-R31))/700;
我试过很多很多方法了,算出来的结果不同啊,不是小数不同,而是完全没关系的那种!
C和m是一样的,应该是程序哪里的写的不一样了
我算了一个结果
R21 415.1978
R31 500.1297
R41 244.0419
Current_X 71.09866
Current_Y 84.45123
你看看和你的哪个是一样的,我用excel 算的
我算了一个结果
R21 415.1978
R31 500.1297
R41 244.0419
Current_X 71.09866
Current_Y 84.45123
你看看和你的哪个是一样的,我用excel 算的
C语言数字全排列的问题(急!)求C代码和算法
matlab 求解带参数的方程,目的是用c表示x,y,求大神指导……代码如下
求大神解答这串C语言代码的含义
怎样用C语言代码写出矩阵的n次方算法?
跪求五位数的位数排序代码 c语言代码
一道C语言的题目求代码
MATLAB中用size函数求图像的行数和列数时,为什么出现如下结果?
急求一个关于洗车仿真的编程代码,题目如下要用C语言做.
求这段matlab代码的输出结果
求C语言大神讲解一下这个程序算法的意思,就是为什么要这样算?我能看懂每句的意思,不懂这个算法的道理.
c语言 :用递归算法求整数m和n的最大公约数.为什么说有错误?
c语言 求最大公约数和最小公倍数的算法