катяkfrr
21.09.2021 08:58

Задача: Создать компьютерную программу, которая сможет вычислить реальную зависимость напряжения от тока (Вольт-Амперную характеристику) для обычного резистора.
Обычно на уроках в школе предполагается, что резисторы подчиняются закону Ома
и ток зависит линейно от напряжения. Однако резистору во время долгой работы
свойственно нагреваться, а значит его сопротивление изменяется. Для большинства
проводников при не слишком больших температурах их удельное сопротивление зависит от температуры следующим образом:
ρ(T) = ρ0(1 + α(T − T0))
где ρ0 — удельное сопротивление при температуре T0, а α =
1\273 К−1 — температурная
постоянная, одинаковая для очень большого количества проводников. Процесс установления температуры можно в первом приближении считать достаточно быстрым, а
потери тепла — подчиняющихся закону Ньютона-Рихмана
Pпот. = β∆T.
Задание:
Постройте график зависимости сопротивления от протекающего тока

Мой код:
import math
import numpy as np
import matplotlib.pyplot as plt

for i in range (1, 50):
for t in 300, 400, 500, 600:
T0 = 200
T = T0 + t
if t == 300:
c = 443.6
if t == 400:
c = 484.1
if t == 500:
c = 524
if t == 600:
c = 591

pl = 8902
l = 10
s = 0.01
a = 14.01
q = a*(T-T0)
Q = c*s*l*pl*(T - T0) + q
α = 1/273
ρ0 = 8.700 * 10 - 8
p = ρ0*(1 + α*(T - T0))
R = p * l / s
t = Q / i**2 * R
i = math.sqrt(Q/R)
round(R, 1)
round(i, 1)
i = np.arange(0, 10.5, 0.5)
R= np.arange(0, 10.5, 0.5)
plt.scatter(i, R)
plt.show()
Что не так?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
555Sasha444
25.01.2021 23:10
В задании не сказано, откуда берутся исходные данные, поэтому будем вводить их с клавиатуры. Сначала ведем общее количество данных (не факт, что данные за месяц снимались строго ежедневно), а затем сами данные. Это позволит заодно осуществить контроль ввода.

var
  n,s,t,i:integer;
begin
  Write('Укажите количество данных: ');
  Read(n);
  Writeln('Теперь вводите данные');
  s:=0;
  for i:=1 to n do
    begin
    Read(t);
    s:=s+t
    end;
  Writeln('Средняя температура за месяц составила ',s/n:0:1)
end.

Пример решения

Укажите количество данных: 11
Теперь вводите данные
27 29 26 31 24 23 27 30 31 28 25
Средняя температура за месяц составила 27.4
0,0(0 оценок)
Ответ:
эльха1
13.12.2020 20:56
//Pascal ABC.NET v3.1 сборка 1172

Var
 ma:array of array of integer;
 i,j,n,r:integer;
begin
 readln(n);
 setlength(ma,n+1);
 for i:=1 to n do
 setlength(ma[i],n+1);
 writeln('Matrix:');
 for i:=1 to n do
 begin
  writeln;
  for j:=1 to n do
   begin
    ma[i,j]:=random(n);
    write(ma[i,j]:4);
   end;
 end;
 for i:=1 to n do
  for j:=i+1 to n do
  r:=r+ma[i,j];
 r:=r div 3;
 writeln;
 if odd(r) then writeln('Да') else writeln('Нет');
end.

Пример ввода:
4
Пример вывода:
Matrix:

   0   1   3   3
   3   0   0   3
   2   3   0   2
   3   0   2   3
Нет
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота