小编Ala*_*am 的帖子

如何在 python 中找到 f(x,y) 沿 x 和 y 的偏导数:del^2 f(x,y)/[del(x)][del (y)]

我在 (xx,yy) 网格中定义了一个二维函数 f(x,y)。我想在数值上获得它的偏导数,如下所示。请注意, np.gradient 没有完成这项工作,因为它沿每个轴返回一个向量场。

在此处输入图片说明

我怎样才能做到这一点?这是我的代码:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-5, 5, 0.1)
y = np.arange(-4, 4, 0.1)
xx, yy = np.meshgrid(x, y, sparse=True)
f = np.sin(xx**2 + yy**2) / (xx**2 + yy**2)
h = plt.contourf(x,y,f)
plt.show()

df=np.gradient(f,y,x) #Doesn't do my job
df=np.array(df)
print(df.shape)

# h = plt.contourf(x,y,df)   #This is what I want to plot.
# plt.show()
Run Code Online (Sandbox Code Playgroud)

python calculus

4
推荐指数
1
解决办法
268
查看次数

从Perl子程序返回多个数组

我给perl子例程提供了四个参数,该例程使用它们创建了两个单独的数组@temp_V@temp_t。当我尝试将它们返回到主程序时,不再有两个单独的数组。取而代之的是@temp_t带有append的值@temp_V,这给了我一个数组。

如何解决这个问题?这是我的代码:

$Vmin=-5;
$Vmax=5;
$N_pulses=5;
$Freq=25e3;

my (@V, @t)=create_FORC($Vmin,$Vmax,$Freq,$N_pulses);

print "@V \n\n\n"; 
#print "@t \n"; 

sub create_FORC($Vmin,$Vmax,$Freq,$N_pulses)
{
my $Vmin=shift;
my $Vmax=shift;
my $Freq=shift;
my $N_pulses=shift;

my $rtime=1/(4*$Freq);
#print "$rtime \n";

undef @temp_V;
undef @temp_t;

push(my @temp_V,0);
push(my @temp_t,0);

push(@temp_V,$Vmin);

      for (my $pulse=0;$pulse<$N_pulses;$pulse++)
      {
      $V_peak=($Vmax-$Vmin)/$N_pulses*($pulse+1)+$Vmin;
      $del_t=($V_peak-$Vmin)*$rtime;  
          push(@temp_V,$V_peak); 
          push(@temp_V,$Vmin);  
          push(@temp_t,$del_t);
      } 
 push(@temp_V,0);

 print "@temp_V \n";
 print "@temp_t \n";

return (@temp_V, @temp_t); 

}
Run Code Online (Sandbox Code Playgroud)

perl subroutine

1
推荐指数
2
解决办法
176
查看次数

标签 统计

calculus ×1

perl ×1

python ×1

subroutine ×1