Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 18
1

Ошибка в программе расчета изотермы сварочного процесса

21.12.2016, 06:07. Показов 431. Ответов 1
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста, что не так в участке кода с 79 по 88 строки? Массив чисел yma не фиксируется в поле worckspace. И ругается на 88-ую строку.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
function [T,ym]=sloypr(x,y,z,q,v,del,vp,scor);
% Расчет температуры плоского слоя в предельном состоянии.
% Соответствует расчетам Кархина В.А.
%________________________________________________________
%% Пример задания исходных данных (в командном окне): 
%>>x=[1:-0.01:-10];  (см)
%>>y=[-3:0.01:3];    (см)
%>>z=0;              (см)        
%>>q=10000;          (мощность источника, Вт=Дж/с)
%>>v=1;              (скорость сварки, см/с)
%>>del=1;            (толщина слоя, см).
%>>vp=[1480 1100 1000 Ас3 Ас1 600]; (контролируемые температуры)
%>>scor (признак плоскости анализа: =1(x,y),=2(y,z),=3(x,z)) 
%>>[T,yma]=sloypr(x,y,z,q,v,del,vp,scor); (Запуск программы расчета).
 
%_______________________________________________________
lam=0.4;
a=0.083;
cro=lam/a;
ym=1;
 
nf=40; % Количество фиктивных источников
 
nx=length(x);
ny=length(y);
nz=length(z);
 
if (nx~=1)&(ny~=1)&( nz~=1)
    error('***** Координатное пространство должно быть двумерным !!!!')
else
qr=q/(4*pi*lam);
va=v/(2*a);
 
for m=1:1:nz;
    for n=1:1:ny;
        for k=1:1:nx;  
            
          Tc=0;             % Обнуление суммы
          
            for nf1=1:1:21; %Организация циклического суммирования 
                nf=nf1-10;  % фиктивных источников, ограниченных номером 21 
 
   R=sqrt(x(k)^2+y(n)^2+(z(m)-2*nf*del)^2); % Радиус-вектор источника nf
                
                if R<del/1000
                    R=del/1000;
                end% if
                
                dT=qr/R*exp(-va*(R+x(k))); % Формула 2.26
                Tc=Tc+dT;    % Суммирование температур действительного и
                             %  фиктивных источников 
            end  %nf1
            
            if Tc>1500
                Tc=1500;
            end %if
          
            if nz==1
             T(n,k,m)=Tc;     %  Для x,y   
             coor=y;
            elseif nx==1
             T(m,n,k)=Tc;     %  Для y,z
             coor=z;
            else
             T(m,k,n)=Tc;    %  Для x,z
             coor=z;
      
         end
               
      end %x
    end %y
end %z
%____________________________________________________
% Расчет ширины заданных изотерм на поверхности (z=0)
%____________________________________________________
 if nz==1     
       Te=T(:,:,1);      
            nvp=length(vp);
for iv=1:1:nvp
   
    Tr=Te-vp(iv);
    [miT,nn]=min(abs(Tr));
       
        ym=y(nn);
        [my(iv),nym(iv)]=max(abs(ym));
        
    end
    yma=ym;
end %if 
end %if пространство
 
if scor==1
    pcolor(x,y,T)
    
elseif scor==2    
pcolor(y,z,T)
%set(gca,'YDir','reverse')
else
 pcolor(x,z,T)
%set(gca,'YDir','reverse')
end %if
set(gca,'YDir','reverse')
axis equal tight
shading interp
grid
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2016, 06:07
Ответы с готовыми решениями:

Ошибка в программе расчета формулы
Программа работает, но при расчете результат не выдает, в чем ошибка? program Natasha; uses crt;...

Ошибка в программе для расчета по формулам
Не могу понять, где ошибка. Требуется написать программу для расчета по 2м формулам. z1=...

Классический метод расчета переходного процесса при
Рассчитать классическим методом расчета переходного процесса при e(t)=E_{m0} sin(\omega t...

Запуск процесса в программе
Здравствуйте, такой вопрос: как реализовать запуск любого процесса в ручную, то есть в консоли...

1
5583 / 4072 / 1610
Регистрация: 02.02.2014
Сообщений: 10,970
21.12.2016, 06:35 2
Matlab M
1
vp=[1480 1100 1000 Ас3 Ас1 600]; (контролируемые температуры)
два параметра не заданы
наугад поставила
Matlab M
1
vp=[1480 1100 1000 803 701 600]; %(контролируемые температуры)
все считает и график выводит при scor =1
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2016, 06:35

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Добавление таблицы данных к программе расчета
Доброго времени суток. Я в Delphi плохо рублю, но надо сделать программу расчета. Вернее она...

Помогите найти ошибку в программе расчета факториала
Начал Си учить в студии13 печатаю по статье и решил факториал писать, ну где 1*2*3*4 и дальше...

Построить график изотермы
Помогите сделать задачу пожалуйста,пробовал сам но как нанести график на оси так и не понял.program...

Построить график изотермы
Пожалуйста :help:..... Циклы с пред- и постусловием. Построить график изотермы расширения 1...

Диагностика сварочного аппарата ВД-503Д УЗ
Здравствуйте! Помогите пожалуйста определить в каком месте неисправность сварочного аппарата по...

Запуск расчета в программе при нажатии кнопок UpDown
Написал код для программы (все запускается). Единственное нужно сделать, чтобы расчет запускался не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.