我已将一些 MATLAB 代码移植到 Python,其中包括一个绘图实用程序,该实用程序可以绘制 2D 矩阵(列表)中某些数据的颜色图。MATLAB 和 Python 绘图实用程序非常相似,因此我可以毫不费力地使它们在视觉上非常接近地匹配。
我在这里使用的测试矩阵是:
X = [ 1 0 3 ]
[ 4 5 6 ]
[ 7 8 9 ]
Run Code Online (Sandbox Code Playgroud)
带有测试矩阵的 MATLAB
X = [1 0 3;
4 5 6;
7 8 9];
figure(1);
imagesc(X);
colormap(hot);
colorbar;
Run Code Online (Sandbox Code Playgroud)
带有测试矩阵的 Python
import numpy as np
import matplotlib as plt
X = [ [1,0,3] , [4,5,6] , [7,8,9] ]
fig = []
fig.append( plt.figure(1) )
plt.imshow(X, cmap='hot', interpolation='nearest', aspect='auto')
plt.colorbar()
fig[0].show()
Run Code Online (Sandbox Code Playgroud)
当我转换为 dB(取每个元素的 log10 并乘以 10)时会出现这个问题,这给了我 …
假设我有一个带有成员变量的类,我不想更改它.假设没有setter函数,那么使该变量成为私有const和仅将变量设为私有之间有什么区别吗?
私人的:
class ConstFoo
{
public:
Foo(int a);
virtual ~Foo();
int val(){ return val_; }
private:
int val_;
}
Run Code Online (Sandbox Code Playgroud)
私人Const:
class ConstFoo
{
public:
Foo(int a);
virtual ~Foo();
int val(){ return val_; }
private:
const int val_;
}
Run Code Online (Sandbox Code Playgroud)
似乎两者之间没有区别,因为val_在任何一种情况下都无法改变值,因此const限定符似乎是多余的.
我可以看到明确添加的一个原因const是代码清晰度,因此将来处理代码的人不会在函数中添加setter.但是,由于名称ConstFoo和文档明确指出它不是可变的,我认为这不会是一个问题.
我正在通过Oracle教程学习JavaFX,我对这个特定主题感到困惑.我似乎是唯一一个困惑,因为我的搜索没有带来任何有用的结果.我正在创建一个带有2列(0,1)和3行(0,1,2)的基本GridPane.在第一行中我有标题,另外两行在左边有一个标签,在右边有一个文本框 - 这是一个登录屏幕
登录
用户名| [_______]
密码| [_______]
这是填充网格的代码:
Text scenetitle = new Text("Login");
scenetitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
grid.add(scenetitle,0,0,2,1); // Row span here is set to 1
Label userName = new Label("User Name");
grid.add(userName,0,1);
TextField userTField = new TextField();
grid.add(userTField,1,1);
Label passName = new Label("Password");
grid.add(passName,0,2); // Here I'm referencing a row index of 2
TextField passTField = new TextField();
grid.add(passTField,1,2)
Run Code Online (Sandbox Code Playgroud)
代码完美无缺,因为它基本上只是教程中的复制粘贴.但是,我的混淆来自于我的行间距为1,但我引用的行索引为2.我尝试切换行和列跨度,但这搞砸了,所以我确定这是正确的.我错过了什么?