J'ai 2 équation, le premier est une ligne, le 2ème est un cercle et je voudrais tracer l'intersection.Deux intersection d'équation
y = tan (phi) * x (xv)^2 + y^2 = R^2
où 'phi' est l'angle [phi = linspace (pi/30, pi/3100) ] J'essaie ce code, mais après que je voudrais tracer je suis arrivé ce message « erreur en utilisant les données de terrain non-numérique est pas pris en charge « Line » »
clear all
close all
clc
N=10;
R=70;
w=40;
v=10;
K=100*10^6;
q=3/4;
%Geometria szmítások
phi=asin((R-w)/R);
teta=acos((v/2)/R);
Rx=(R+v)-(v*(phi/teta));
%Szögek felbontása x darabra
f1=linspace(phi,teta,N);
f2=linspace(phi,teta,N);
%Külső ív felbontása
sugar=linspace(Rx,R,N);
%Belső ív közelítése
x1=R*cos(f1);
y1=R*sin(f1);
syms valt
egyenlet=(valt-v)^2+(valt*tan(asin((R-w)/R)))^2-R^2==0;
S=solve(egyenlet,valt);
k=max(S)
%küls ív közelítése
x2=k;
y2=k*tan(phi);
%%%%%Geometria kirajzolása
plot(x1,y1)
hold on
plot(double(x2),double(y2))
hold on
%axis([0,100,0,100])
for k=1:(N-1)
h(k)=sqrt(((((x2(k+1)+x2(k))/2)-((x1(k+1)+x1(k))/2))^2)+((((y2(k+1)+y2(k))/2)-((y1(k+1)+y1(k))/2))^2));
end
%terület számítása
for j=1:(N-1)
u=[x2(j);x2(j+1);x1(j+1);x1(j);x2(j)];
uv=[y2(j);y2(j+1);y1(j+1);y1(j);y2(j)];
A(j)=polyarea(u,uv);
end
%az elemi forgácsvastagság "fogásmélysége"
whullam=A./h;
%az elemi darabokhoz tartozó szögek
for n=1:(N-1)
%xhosz(n)=((x2(n+1)+x2(n))/2)-((x1(n+1)+x1(n))/2);
%yhosz(n)=(((y2(n+1)+y2(n))/2)-((y1(n+1)+y1(n))/2));
beta(n)=atan((((y2(n+1)+y2(n))/2)-((y1(n+1)+y1(n))/2))/(((x2(n+1)+x2(n))/2)-((x1(n+1)+x1(n))/2)));
end
%erő meghatározása
Fx=sum(K.*h.^q.*whullam.*cos(beta));
Fy=sum(K.*h.^q.*whullam.*sin(beta));
F=[Fx;Fy];
Merci pour l'aide!
Vous avez probablement besoin de lancer '' x2' et y2' comme 'double' (ils sont symboliques) avant de tracer:' plot (double (x2), double (y2)) ' – Suever
Je l'essaie et maintenant obtenir cette erreur Index dépasse les dimensions de la matrice. Erreur dans sym/sous-réf (ligne 805) R_tilde = builtin ('subsref', L_tilde, Idx); – knightom
Quelle ligne est à l'origine du problème. Veuillez également mettre à jour votre code afin que nous puissions l'exécuter. Il vous manque de nombreuses déclarations de variables – Suever