2015-02-09 3 views
0

У меня есть эти четыре уравнения:КЛЕНА: Возьмите положительное решение и построение

eq1:= 1.6*10^(-7)*R*sin(t)-4.4*10^(-14)*R^2*cos(t)*sin(t)-1.6*10^(-14)*R^2*cos(t)^2+4.2*10^(-14)*R^2-1.3+2.1*10^(-9)*R*cos(t)=0; 

eq2 := 8.3*10^(-8)*R*sin(t)-1.2*10^(-13)*R^2*cos(t)*sin(t)-2.9*10^(-44)*R^2*cos(t)^2+7.1*10^(-14)*R^2-1.3+8.3*10^(-8)*R*cos(t)=0; 

eq3 := 8.3*10^(-8)*R*sin(t)-1.2*10^(-13)*R^2*cos(t)*sin(t)-2.2*10^(-44)*R^2*cos(t)^2+7.1*10^(-14)*R^2-1.3+8.3*10^(-8)*R*cos(t)=0; 

eq4 := 2.1*10^(-9)*R*sin(t)-4.4*10^(-14)*R^2*cos(t)*sin(t)+1.6*10^(-14)*R^2*cos(t)^2+2.6*10^(-14)*R^2-1.3+1.6*10^(-7)*R*cos(t)=0; 
  1. Я хочу, чтобы решить каждое уравнение для R, каждый явно уступает два корня, и я всегда уверен в том, что один корне над горизонтальной осью, в то время как другая находится ниже нее, и выбирайте только четыре неотрицательных корня, не делая их вручную, например, напишите что-нибудь вроде res:=solve(eq1,R), построив каждый из них как функцию t и только затем положив корень. Я хочу, чтобы код делал это.
  2. После получения положительных корней, скажем {r1,r2,r3,r4}, я хочу построить на том же рисунке, следующие 4 графы

    участок ([r1 * соз (т), r1 * sin (т), т = 0 ..2 * Pi]);

    участок ([r2 * cos (t), r2 * sin (t), t = 0..2 * Pi]);

    участок ([r3 * cos (t), r3 * sin (t), t = 0..2 * Pi]);

    участок ([r4 * cos (t), r4 * sin (t), t = 0..2 * Pi]);

  3. Наконец, мне нужно очертить область пересечения с некоторым цветом и затенять ее.

Примите во внимание вашу помощь.

+0

Может ли кто-нибудь помочь мне с этим, пожалуйста ??? – MOD

ответ

0

Вот как выбрать положительный корень и как перебирать ваши уравнения. Отсюда я думаю, что вы должны сами сделать сюжеты. Просто будьте осторожны, что ваши корни являются «тяжелыми» выражениями.

restart: 
with(plots): 

# Number of equations 
n := 4; 

# Empty solution vector 
solutions := Vector(n): 

# List of equations 
eq := [ 
     1.6*10^(-7)*R*sin(t)-4.4*10^(-14)*R^2*cos(t)*sin(t)-1.6*10^(-14)*R^2*cos(t)^2+4.2*10^(-14)*R^2-1.3+2.1*10^(-9)*R*cos(t)=0 , 
     8.3*10^(-8)*R*sin(t)-1.2*10^(-13)*R^2*cos(t)*sin(t)-2.9*10^(-44)*R^2*cos(t)^2+7.1*10^(-14)*R^2-1.3+8.3*10^(-8)*R*cos(t)=0 , 
     8.3*10^(-8)*R*sin(t)-1.2*10^(-13)*R^2*cos(t)*sin(t)-2.2*10^(-44)*R^2*cos(t)^2+7.1*10^(-14)*R^2-1.3+8.3*10^(-8)*R*cos(t)=0 , 
     2.1*10^(-9)*R*sin(t)-4.4*10^(-14)*R^2*cos(t)*sin(t)+1.6*10^(-14)*R^2*cos(t)^2+2.6*10^(-14)*R^2-1.3+1.6*10^(-7)*R*cos(t)=0 
    ]: 

# Iterate through all equations 
for i from 1 to n do: 

    # Find and store positive root 
    solutions[i] := solve(eq[i], R, useassumptions) assuming R>0: 

end do: 

solutions;